CONFBRIDGE Testing, config, documentation

I am evaluating CONFBRIDGE to see if this will scale better than MEETME provide and more features……

I am a little short of documentation to get started.

So far I have found this
voip-info.org/wiki/view/Aste … ConfBridge
and
asterisk.org/docs/asterisk/t … confbridge

Is it configured in the same way as MEETME?
Do you need to create rooms in the meetme.conf or is there a confbridge.conf?
Does anyone have any tested configs?

I am using the RPM for 1.6.2 and have guessed at the config which did drop me in to a conference when called although the pins were ignored and the results produced a lot of warnings in the asterisk cli. When I dropped the call I was kicked out of the asterisk cli. Is this a bug?

Anyone else have any experience of CONFBRIDGE and its stability?

Bump!

I currently use confbridge. There is no need to create the rooms in advance. It’s as easy as one line:

try to type in “confbridge” in google. THe first hit is listed below and there are many other great results that are wroth reading.

voip-info.org/wiki/view/Aste … ConfBridge

Thanks for the reply.

I obviously found the link you posed as it’s in my original message.

I’m looking to have a single extension number to dial a bridge then enter either a participant code or a moderator code to get to a particular room.

So one extension number, hundreds of pre defined pin protected rooms.

Anyone seen a config which will produce this scenario? Dynamic doesn’t work for me as I need as i need participant and moderator codes.

Is it not possible to simply have an extension, say 5000 for this example, that you dial; then enter your room number followed by a PIN? Is this what you are looking for?

It’s close. In theory a room number doesn’t need to be entered if the pin is unique.

What I would like is to have an entry in the dialplan for the conference number app and like meetme a separate conf file listing the valid rooms and their pins.

So one number to dial in to the bridge app which references a conf file with matching pins

Example
room 1 (pin1234, mod3322, options)
room 2 (pin1224, mod1322, options)
room 3 (pin1994, mod1992, options)

The benefit is that I don’t have to keep reloading asterisk to take changes.

My feeling is there is no need to enter a room number if pins are unique.

Meetme may work a bit like this but I am keen to see what’s possible with confbridge

Having a few problems with confbridge.

This is what I have in the enstensions.conf

And this is the console output when I dial 1115

localhost*CLI>
== Using SIP RTP CoS mark 5
– Executing [1115@default:1] Set(“SIP/1234-00000005”, “CHANNEL(musicclass)=default”) in new stack
– Executing [1115@default:2] Set(“SIP/1234-00000005”, “CHANNEL(language)=en”) in new stack
– Executing [1115@default:3] Wait(“SIP/1234-00000005”, “1”) in new stack
– Executing [1115@default:4] ConfBridge(“SIP/1234-00000005”, “1115,Mcs,123”) in new stack
– <SIP/1234-00000005> Playing ‘conf-onlyone.gsm’ (language ‘en’)
– Stopped music on hold on SIP/1234-00000004
– Started music on hold, class ‘default’, on SIP/1234-00000004
– Stopped music on hold on SIP/1234-00000004

On my x-lite extension 1234 I just get silence.

I have made a test to make sure I have the announcements ‘conf-onlyone.gsm’ which I do and plays back ok.

Anyone else having issues with confbridge?

Running centos 5.5 asterisk 1.6.2.11

Make sure you answer the call.

exten => 1115,1,Answer()

Thanks for that. I am getting audio through now.

Config reads

exten => 1115,1,Answer()
exten => 1115,n, Wait(1)
exten => 1115,n,Set(CHANNEL(musicclass)=default)
exten => 1115,n,Set(CHANNEL(language)=en)
exten => 1115,n, Wait(1)
exten => 1115,n,ConfBridge(${EXTEN},Mcs,123)

The pin doesn’t apear to do anything.

Is it possible to create 200 sperate rooms with just a single dial in number?

from the asterisk CLI type “core show application confbridge”

you may notice that the PIN option is not available. I believe the idea is that any authentication should be done outside of the application using the Authenticate function (voip-info.org/wiki/view/Aste … thenticate).

My recommendation would be to as follows:

*Have users dial an extension.
*Collect their room # (PIN) (voip-info.org/wiki/view/Asterisk+cmd+Read)
*put them into the conference room they enter (exten => s,n,Confbridge(${READVALUE},Mc)

If you need someone to be an admin you can always add logic to relate that from the room# (PIN) they enter. It might be useful to use the Asterisk DB to store the Room/PIN numbers.

Like the idea. This may work very well for what I am looking for.

Having dificulty getting the Authenticate to work.

This is what I have in the dialplan
exten => 1115,1,Answer()
exten => 1115,n,Wait(1)
exten => 1115,n,Authenticate(/etc/asterisk/participant.conf,am,4)
exten => 1115,n,Set(CHANNEL(musicclass)=default)
exten => 1115,n,Set(CHANNEL(language)=en)
exten => 1115,n, Wait(1)
exten => 1115,n,ConfBridge(${ACCOUNTCODE},Mcs,123)

the contents of /etc/asterisk/participant.conf looks like this

2222:2222
3333:3333
4444:4444

and the output I get in the console looks like this

-- Executing [1115@default:1] Answer("SIP/1234-00000018", "") in new stack
-- Executing [1115@default:2] Authenticate("SIP/1234-00000018", "/etc/asterisk/participant.conf,am,4") in new stack
-- <SIP/1234-00000018> Playing 'agent-pass.gsm' (language 'en')
-- <SIP/1234-00000018> Playing 'auth-incorrect.gsm' (language 'en')
-- <SIP/1234-00000018> Playing 'auth-incorrect.gsm' (language 'en')
-- <SIP/1234-00000018> Playing 'vm-goodbye.gsm' (language 'en')

== Spawn extension (default, 1115, 2) exited non-zero on 'SIP/1234-00000018’
localhost*CLI>

The result is that it doesnt authenticate. I get three attempts and then it hangs up.

I have tried a static authenticate and this works well.

exten => 1115,n,Authenticate(4444,a,4,conf-getconfno)

I thought it may be file permissions but the auth file has the same permissions as all the other .conf files in the directory.

Any ideas where ~I can look next?

OK It’s my password file. From what I have read it’s not cleare what the format should be but looking at others examples I need to generate md5sum

echo -n 4444 | md5sum
output
dbc4d84bfcfe2284ba11beffb853a8c4
text file

4444:dbc4d84bfcfe2284ba11beffb853a8c4

this works. What else can I put in the security text file or is it just a list of numbers.

I’d like to have at lease two feilds of info I can reverence one for the participant code and one for the moderator.

You could use the Asterisk DB (voip-info.org/wiki/view/Asterisk+database). Below is a quick example I have in use for using personal pin protected conference rooms, but i am not using any admin mode. I’m sure you can get creative using the asterisk DB and the Read function to accomplish what you need.

[conference-personal]
exten => s,1,Read(CONFROOM,5000-greeting,3,,3,10)
exten => s,n,Authenticate(/conf1319${CONFROOM},d,4)
exten => s,n,ConfBridge(${CONFROOM},Mc)
exten => i,1,Goto(conference-personal,s,1)

I did this…

[macro-conference]
exten => s,1,Answer
exten => s,n,Set(CONFBRIDGE_JOIN_SOUND=en/beep)
exten => s,n,Set(CONFBRIDGE_LEAVE_SOUND=en/beep)
exten => s,n,Wait(1)
exten => s,n,Authenticate(/etc/asterisk/password,ma)
exten => s,n,GotoIf($["${CDR(accountcode)}" = “5001”]?stduser)
exten => s,n,GotoIf($["${CDR(accountcode)}" = “5101”]?superuser)
exten => s,n(stduser),ConfBridge(8001,cswM)
exten => s,n,Goto(finish)
exten => s,n(superuser),ConfBridge(8001,casAM)
exten => s,n,(finish)Playback(vm-goodbye)
exten => s,n,Hangup

[dialconference]

; Voipon - Conference
exten => 7177585,1,Macro(conference)

/etc/asterisk/password
#echo -n 1234 | md5sum
5001:81dc9bdb52d04dc20036dbd8313ed055
5101:deb54ffb41e085fd7f69a75b6359c989

I can allocate pins to different account types (5001 being a normal user and 5101 being a superuser)

Possibly by adding something like rbreidenstein’s code to include the conference bridge number as part of the password filename you could then have seperate pins per conference bridge with account types.

The only issue I have with this code is the Music on hold. As soon as a 2nd person joins the conference the MOH stops even though the 2nd user isn’t the admin (waited for user). I see this as a fault with the confbridge module.

In fact like this :smile:

[macro-conference]
exten => s,1,Answer
exten => s,n,Set(CONFBRIDGE_JOIN_SOUND=en/beep)
exten => s,n,Set(CONFBRIDGE_LEAVE_SOUND=en/beep)
exten => s,n,Wait(1)
exten => s,n,Authenticate(/etc/asterisk/password-${ConferenceID},ma)
exten => s,n,GotoIf($["${CDR(accountcode)}" = “5001”]?stduser)
exten => s,n,GotoIf($["${CDR(accountcode)}" = “5101”]?superuser)
exten => s,n(stduser),ConfBridge({ConferenceID},cswM)
exten => s,n,Goto(finish)
exten => s,n(superuser),ConfBridge({ConferenceID},casAM)
exten => s,n,(finish)Playback(vm-goodbye)
exten => s,n,Hangup

; Voipon - Conference
exten => 7177585,1,Set(ConferenceID=8001)
exten => 7177585,2,Macro(conference)

/etc/asterisk/password-8001
#echo -n 1234 | md5sum
5001:81dc9bdb52d04dc20036dbd8313ed055
5101:deb54ffb41e085fd7f69a75b6359c989

Individual conference password files with user types.

Like this a lot. One small issue for me is I would need a seperate extension for each conference. We would like a single number to dial.

Looks like I need to think of a way of defining three varibles

Room number
Participant
Moderator

A simple database entry may look like this

[pin:room:type]
12224,32444,cswM
22334,32444,casAM

Perhaps the asterisk database is the asnswer. Need to read more.

well the extension I have is directed from my sip.conf so it’s an incomming number. Then all you would need is a voice prompt for a conference ID keying in a 4 digit number and setting the ConferenceID variable to the entered value before calling the macro. I wouldn’t have thought that would be too hard though a combined database record as you suggest would be the neater way.

Hi guys, I found this thread from a google search and tried to use ConfBridge to create conferencing, but it failed. The CLI showed the following error message:

ERROR[30423]: app_confbridge.c:435 join_conference_bridge: Conference bridge ‘5000’ could not be created.

I read from elsewhere that it needs some timing source. But when I typed ‘timing test’ in CLI I got the following message:

Attempting to test a timer with 50 ticks per second.
Failed to open timing fd
Command ‘timing test’ failed.

Consequently I tried to load res_timing_pthread.so but it crashes asterisk.

Do I need to load some other modules to make ConfBridge work? Any help is greatly appreciated.

(BTW, I upgraded my system to asterisk 1.8.3.2.)