ConfBridge

This is a full working example of a configuration required to setup a conference room on Asterisk 1.6.2.x, using ConfBridge:

 

[incoming-conference]
exten => s, 1, Set(CHANNEL(language)=en)
exten => s, n, Set(CHANNEL(musicclass)=default)
exten => s, n, Ringing
exten => s, n, Wait(1)
exten => s, n, Answer
exten => s, n, Ringing
exten => s, n, Wait(1)
exten => s, n, ConfBridge(${EXTEN},Mcs,123)
exten => s, n, Hangup
 

We need many more features:
1. Set admin access, comparing to users’ access.
2. Set the option to ask users to input an access password.
3. Allow an admin to mute/unmute and drop unwanted users, through a web interface.
4. Allow users to create new conference rooms, dynamically.

You need the following modules at least. Maybe more, but in a vanilla config you will have them already loaded. It took me some half an hour to figure out that bridge_softmix is needed.
app_confbridge.so
bridge_softmix.so

extensions.conf (this is the most vanilla conference room you can get. Answer is important here):

 

exten => 32,1,Answer
exten => 32,n,ConfBridge(1234)

meetme.conf: (I am a bit confused here, as my conference room 1234 is defined only here)

 

[general]
audiobuffers=32

[rooms]
conf => 1234

 

If it’s the case that you are calling people get getting a busy signal or something, you might consider sending them to some extension that verifies that they answered before sending them into the conference or something similar to that.

18 Responses to “ConfBridge”

  1. Michael said:

    Nov 21, 10 at 4:12 am

    Hi,

    We created the following script and the conference room works:

    [incoming-conference]
    exten => s, 1, Set(CHANNEL(language)=en)
    exten => s, n, Set(CHANNEL(musicclass)=default)
    exten => s, n, Ringing
    exten => s, n, Wait(1)
    exten => s, n, Answer
    exten => s, n, Ringing
    exten => s, n, Wait(1)
    exten => s, n, ConfBridge(${EXTEN},Mcs,123)
    exten => s, n, Hangup

    We need many more features:
    1. Set admin access, comparing to users’ access.
    2. Set the option to ask users to input an access password.
    3. Allow an admin to mute/unmute and drop unwanted users, through a web
    interface.
    4. Allow users to create new conference rooms, dynamically.

    Are all these option available? If yes, we’ll be happy to get example
    scripts. We tried to look on Google, but couldn’t really find anything
    useful and the official documentation is not sufficient ofr our level of
    knowledge.

    Thank you in advance,

    Michael

  2. Magos said:

    Nov 20, 10 at 4:10 pm

    You need the following modules at least. Maybe more, but in a vanilla
    config you will have them already loaded.
    It took me some half an hour to figure out that bridge_softmix is needed.
    app_confbridge.so
    bridge_softmix.so

    extensions.conf (this is the most vanilla conference room you can get.
    Answer is important here):
    exten => 32,1,Answer
    exten => 32,n,ConfBridge(1234)

    meetme.conf: (I am a bit confused here, as my conference room 1234 is
    defined only here)
    [general]
    audiobuffers=32
    [rooms]
    conf => 1234

  3. Jerry Geis said:

    Aug 10, 12 at 3:43 pm

    I am starting to use ConfBridge and not MeetMe in asterisk 10.

    I have everything converted over EXCEPT.

    I am using an AGI and AMI to bring phones into a conf automatically. When I do that the conf is going just fine – however – I head beep, beep, beep.

    I have every sound listed in confbridge.conf turned off.

    I cannot pinpoint the beep beep beep. It continues through the whole conf.

    Is the because my AGI has exited that brought all the people into the conference?
    How can I turn off the beep beep beep?

    Thanks,

    Jerry

  4. Jerry Geis said:

    Aug 13, 12 at 12:13 pm

    I am getting a “beep beep beep” (like a busy or hangup sound) when I am using my AGI to start up a conf. (did not happen with Meetme).

    The confbridge works, but the beep beep beep is mixed in with the audio. I have turned off every sound in the confbridge.conf file.

    How can I find out where this beep, beep beep is coming from and turn it off???

    Jerry

  5. Jonathan Rose said:

    Aug 13, 12 at 12:42 pm

    Jerry Geis wrote:

    Well, this certainly sounds like an odd one. Do you have some kind of outside channel (like via DAHDI?) connected to the conference?

    If it’s the case that you are calling people get getting a busy signal or something, you might consider sending them to some extension that verifies that they answered before sending them into the conference or something similar to that.

  6. Danny Nicholas said:

    Aug 13, 12 at 12:51 pm

    Does the “beep beep beep” happen when you manually start it (not from the AGI)?

    —–Original Message—

  7. Warren Selby said:

    Aug 13, 12 at 1:34 pm

    In addition to the two other excellent troubleshooting questions that have been asked so far, could you also please share with us the CLI output during the call, from the time you start to the time it all ends?

    Is this happening on even just adding one person to the confbridge? Does it happen when you add more than one person to the bridge? Does everyone hear the beep, or is it only in the mixed audio?

  8. Jerry Geis said:

    Aug 13, 12 at 3:58 pm

    Jonathan and Danny

    I am only using Local channels and SIP to another asterisk box – one at this time. No phones no anything.

    I think is happening when the AGI is exiting.

    Its does not happen when I manually start it.

    ———————

  9. Jerry Geis said:

    Aug 17, 12 at 5:36 am

    Any ideas on this?

    Just trying to eliminate any sounds in the confbridge. I use a call to a local channel, then call an AGI to bring others in the call, then speak my message. Before I speak my message the beep beep beep or busy is playing.

    Jerry

  10. Tony Mountifield said:

    Aug 17, 12 at 7:14 am

    In article <502E1E95.6030009@pagestation.com>, Jerry Geis wrote:

    Jerry,

    Looking at your CLI output (/var/log/asterisk/full would have been cleaner, not having the color codes), I see that something is hanging up and processing the h extension. Perhaps something in h is keeping the channel alive?

    That makes me wonder whether the hung up channel is still somehow connected to the conference and Asterisk is sending an in-band tone on the channel.

    When you are in the state that you hear the beeps, try doing a “confbridge list”
    to get the name of the conference and then “confbridge list ” (or something like that – I only really know meetme), to see what participants are still connected.

    If you find one more channel than you expect, that may be the culprit.

    Cheers Tony

  11. Jerry Geis said:

    Aug 17, 12 at 2:21 pm

    Doing the “confbridge list” looks normal.

    If I goto the /var/lib/asterisk directory and rename the sounds directory the sound goes away. I did this “thinking” I would see an error about not able to find some wave file, then I might be able to find in the code where that is and so on… I see no error on the CLI.

    How else can I track this down?

    Jerry

  12. Jerry Geis said:

    Aug 21, 12 at 12:29 pm

    How do I enable debugging on asterisk 10 and then what function can I “break” on to see who is calling the “play wave file” for busy or hangup for my confbridge – that did not happen for me in the old meetme.

    I am trying to track this down.

    Thanks,

    Jerry

  13. Tony Mountifield said:

    Aug 22, 12 at 4:18 am

    In article <5033C582.8080709@pagestation.com>, Jerry Geis wrote:

    Hi Jerry,

    Firstly, in logging.conf, make sure you have a line as follows:

    full => notice,warning,error,debug,verbose,dtmf,fax

    If you made any changes, then in the asterisk CLI, do: reload logger

    Then again in the CLI, do:

    set verbose 5
    set debug 5

    Then try your scenario and look afterwards at /var/log/asterisk/full.

    One other thing that might help glean some info. Since you said renaming the sounds directory stopped the sound from playing, you could try using the fuser command from the root shell prompt, to see what sound file is open:

    cd /var/lib/asterisk/sounds/en fuser * */*

    Cheers Tony

  14. Jerry Geis said:

    Aug 22, 12 at 7:47 am

    Tony

    So I commented in the “full” in the logger and restarted. set verbose and debug. the only thing I saw was below. dsp.c Setup Tone. See below.

    [Aug 22 08:02:31] DEBUG[31329] channel.c: Didn’t receive a media frame from Local/app_confbridge_call_out@smvoice-local-public-address-playfile-621a;2
    within 500 ms of answering. Continuing anyway
    [Aug 22 08:02:31] DEBUG[31329] app_confbridge.c: Trying to find conference bridge ‘PA0001′
    [Aug 22 08:02:31] DEBUG[31329] bridging.c: Joining bridge channel
    0x7fb07c0032e8 to bridge 0x7fb07801e8f8
    [Aug 22 08:02:31] DEBUG[31329] bridging.c: Added channel Local/app_confbridge_call_out@smvoice-local-public-address-playfile-621a;2(0x7fb07800f4a8)
    to bridge array on 0x7fb07801e8f8, new count is 2
    [Aug 22 08:02:31] DEBUG[31329] bridging.c: Bridge 0x7fb07801e8f8 is happy that channel Local/app_confbridge_call_out@smvoice-local-public-address-playfile-621a;2
    already has read format slin
    [Aug 22 08:02:31] DEBUG[31329] bridging.c: Bridge 0x7fb07801e8f8 is happy that channel Local/app_confbridge_call_out@smvoice-local-public-address-playfile-621a;2
    already has write format slin
    [Aug 22 08:02:31] DEBUG[31329] bridging.c: Giving bridge technology softmix notification that 0x7fb07c0032e8 is joining bridge 0x7fb07801e8f8
    [Aug 22 08:02:31] DEBUG[31329] dsp.c: Setup tone 1100 Hz, 500 ms, block_size0, hits_required!
    [Aug 22 08:02:31] DEBUG[31329] dsp.c: Setup tone 2100 Hz, 2600 ms, block_size0, hits_required6
    [Aug 22 08:02:31] DEBUG[31340] pbx.c: Launching ‘AGI’

    Also I dont want to do any transcoding and its talking about slin format. seems likes thats the native format for conference. Do I need to add slin to my formats for the end locations. All I have right now are ulaw,alaw,gsm.

    Rename the sounds directory (I just tried again) did nothing this time. Not sure what I had done??? Anyway from above looks like the dsp.c tone is whats doing it.

    What next?

    Jerry

  15. Jerry Geis said:

    Aug 22, 12 at 8:06 am

    Below is the backtrace of I think why I am hearing a tone in my confbridge.

    I have all sounds turned off for my confbridge profile.

    Looks like something with “fax” is in the mix. How do I disable that –
    no faxes in my conference and dont need any tones from it?????

    Thanks, Jerry

    ———–

  16. Tony Mountifield said:

    Aug 22, 12 at 9:50 am

    In article <5034D4B7.8000906@pagestation.com>, Jerry Geis wrote:

    The dsp stuff doesn’t matter. It is not generating tones, just setting up a detector to listen for them. It does this any time a dsp is set up using ast_dsp_new(), and there is probably one in confbridge for talk detection.

    Conference mixing has to be done in slin for the sample addition to work. You don’t need slin as an endpoint format (most endpoints won’t understand it anyway) – Asterisk will efficiently transcode between ulaw and slin as required.

    No, I think it’s something else.

    Tony

  17. Jerry Geis said:

    Aug 22, 12 at 3:16 pm

    I finally found this – it was not asterisk, it was me. I had in the dialplan two locations that brought other asterisk boxes into conf. Its was being called twice. So first call into a box worked, then the second call was giving me a busy.

    Thanks Tony! For all your help. Meetme must have been “slightly” smarter to say that device is already in the meetme so don’t do a second call, where confbridge did not do that.

    Jerry

  18. Tony Mountifield said:

    Aug 22, 12 at 3:23 pm

    In article <50353DF9.3060005@pagestation.com>, Jerry Geis wrote:

    Glad to help, and I’m pleased you tracked it down.

    Cheers Tony