How do I automatically bridge in another extension to an incoming call?


(Bob Reeder) #1

I would like to bridge in another extension to calls made between two specific extensions using Asterisk/FreePBX. Note that I am very new to FreePBX.


#2

Do you want to make conference call or barge a call between 2 extentions?


(Bob Reeder) #3

When a call is placed from extension A to extension B, I would like to automatically call extension C and bring extension C into the call.


#4

Did you examine conference and conference pro modules? I think these modules could help.

http://wiki.freepbx.org/display/F2/Conference+Module+User+Guide
http://wiki.freepbx.org/display/FCM/Conference+Pro-Admin+Guide


(Alex DiMarzo) #5

You could do this in [from-internal-custom]; I’m not sure what the code would look like, but it would require some asterisk dialplan coding. I might research this if I get the time, but I’m pretty busy right now and can’t promise it.

You’d want to do IF A is calling B or B is calling A, join C to the call in your logic. GotoIf would be able to achieve it, but I’m not sure if the “conference” feature which the phone is actually responsible for (I think) can be triggered by the PBX.

Conference rooms might be required; you could also set up the conditional to redirect the call to your conference room and then dial out to the other two parties.


(Bob Reeder) #6

I am trying to do this in the dialplan (let me know if this is a bad approach). I can determine (in extensions_custom.conf) if the call should have this treatment. I can then dial out to extension C. I believe the problem is that the Dial() application blocks, and extension A is connected to C. The dialplan code is as follows:

[custom-auto-bridge]
exten => 1001,1,GotoIf($[${CALLERID(num)} != 1002]?nobridge)
same => n,Dial(SIP/1003,10)
same => n,GotoIf($[${DIALSTATUS} != ANSWER]?nobridge)
same => n,Bridge(${CHANNELID})
same => n(nobridge),Noop()

This code lets all calls to 1001 through that are not from extension 1002. If the call comes from 1002, extension 1003 is called and 1002 is connected to 1003. The Dial() application appears to block. (nbthost) It is possible that this could be done with ConfBridge(), but I’m not sure how. (Overkill) You are correct that I am trying to initiate a conference from the PBX side. I apologize that I am a novice to this, and I sincerely appreciate your help.


(Bob Reeder) #7

Also note that in this last case that if 1003 doesn’t answer in 10 seconds, the call is sent to 1001 as it should be. If 1001 answers, then 1002 and 1001 are connected as would be expected.


(Bob Reeder) #8

I think I found something great. The Originate() application is a non-blocking Dial().


(United States) #9

bobreeder

Did you get this figured out? I am running into the same issue.


(Jared Busch) #10

I don’t know the dialplan to auto conference something off the top of my head, and i’m not going to spend time on it. Hopefully someone else will pop in with that bit.

But you want to make a custom context. and then give that context to your extension that needs to do this.

[auto-conf-ext]
exten => 1234,1,NoOp(Need to Autoc onference calls to extension 1234)
exten => 1234,n,?    ;<--- insert logic here
exten => 1234,n,Hangup()
; all other calls do normal processing
exten => _[*0-9]!,1,Goto(from-internal,${EXTEN},1)
exten => h,1,Hangup()

(United States) #11

Thanks I will give this a try