I need to dial and add new call to an existing call


I want to make three participents to be in one call, my scenario is caller 1 is calling to caller 2 and if caller 2 answered then dial out to caller 3 and if answered, add it to ongoing call between caller 1 and caller 2.

please suggest me with the dialplan to achieve this.

Thanks in advance.

Does this help? https://www.voip-info.org/asterisk-n-way-call-howto/

Hi David,

Thanks for reply I have used features.conf to do 3 way conferencing as i want to connect only 3 users in single call. Reference link you provided would help me in future.

But, here i wanna achieve this without providing any DTMF inputs. Is it possible?

If you are using SIP phones, you can do the conference in the phone itself, in which case all the signalling will use INVITE’s , in the signalling stream, rather than DTMF/telephony events, in the media stream.

This can’t be done via dialplan?

i gone through Bridge/Originate applications in wiki asterisk will it be useful in this case?

I have written some dialplan where I am calling from 1005 to 1006 and then try to add 1007 in call,

exten => _X.,1,Answer()
same => n,Dial(PJSIP/{EXTEN},20,TtU(jump_to_here^{CHANNEL}))
same => n,Hangup()

exten => s,1,verbose(ARG1={ARG1}) same => n,Originate(PJSIP/1007,app,BridgeAdd,{ARG1})
same => n,Return()

But with this m getting below error on CLI,

[May 31 17:42:13] WARNING[31592]: app_bridgeaddchan.c:89 bridgeadd_exec: Channel PJSIP/1005-00000028 is not in a bridge

The issue is that the U command will fire the GoSub before the channels are connected. So at this point 1005 is going to dial 1006 and when 1006 answers, it is going to fire your GoSub before 1005 and 1006 are bridged together and therefore 1005 is not in a bridge.

However, a Dial() is going to create a two-channel bridge. So you either need to push everyone into a confbridge to talk or ChanSpy to alllow the third channel to barge in and talk to both channels in the bridge.

I would caution against using the example over at voip-info as it is. That is based on Asterisk from the 1.4/1.6 days, heavily rely’s on Macro()'s which are not only deprecated but require you to compile Asterisk 16+ with Marco() support when you install/compile Asterisk. There have also been updates to ConfBridge and other things in the last 10+ years. So take that example with a grain of salt. You can use it as reference but do not copy/paste it and expect it to work 100% considering all the changes in Asterisk over the years.

How would i push everyone into conference via dialplan itself?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.