RECOMMENDATIONS Dialplan Gurus: Conference Calls and IVRs

TKtech

New Member
Joined
May 18, 2016
Messages
21
Reaction score
5
First off, the goal is for me to be able to transfer an incoming call that has been answered by an employee to a conference room, the caller is then joined by the employee and an IVR were the caller proceeds to follow and answer prompts given by the IVR. It may seem odd to have the employee be a part of this call, but the IVR is lengthy (describing our Terms of Service) and may require the employee to intervene or explain the finer details. This is all very new and we want to keep a real person in the loop while we gather feedback on the new system. I think conference rooms are the only solution to this, but I'm fairly new to Asterisk.

I wanted to hash this out with those who have played around with the dial plan before I go investing hours of work into something that falls flat on its face because of something like app_confbridge not passing DTMF from caller to IVR. (This is a concern that was brought up somewhere else.)

I'll try to describe what I have envisioned so far with the dialplan. This is straight out of my head, incorrect terms and impossibilities included-

  • Caller dials in to PBX through DID.
  • Call is placed into Queue, awaiting employee to answer.
  • Employee answers, collects info, transfers Caller to an extension that sets up a conference room and places the caller in it.
This is were I lose the order and method of things. I need to add the IVR and the employee to the conference at this point. About the only thing I can think of is an extension that the employee uses that would add the IVR with a user profile that waits for the marked Employee to join. Can I treat an IVR extension as an endpoint that I can use Originate to patch it into the conference?

  • 3-Way call established. IVR starts.
  • IVR Collects and logs callers responce. IVR hangs up.
At this point, I don't know if its worth it to somehow exit the conference or not. I don't believe so.

Obviously my call manipulation skills are atrocious. I have no idea at what points and how a user in a call can manipulate and set up new calls without parking and remembering extensions, if there are better ways than chaining commands initiated by dialing extensions, etc.

Thank you for your time, hopefully some of you out there wouldn't mind teaching me some slick tricks!
 
Ok, so I bashed out a quick proof of concept that seems to work. If anyone is curious, here it is:

Code:
[ivr-conf]
exten  =_600Z,1,NoOp(Transfer Bridged Caller to new Conference Room and bring Transferrer with.)
same  =   n,Set(transid=${CUT(BLINDTRANSFER,,1)})
same  =   n,NoOp(Call back Transferrer ${transid} and place into Conference Room ${EXTEN:-1})
same  =   n,Originate(${transid},app,ConfBridge,${EXTEN:-1},[1,q],,)
same  =   n,NoOp(Pull IVR extension into Conference.)
same  =   n,Originate(Local/s@tos-ivr,app,ConfBridge,${EXTEN:-1},[1,q],,)
same  =   n,NoOp(Placing Call Channel ${CHANNEL} with Number ${XIVO_SRCNUM} to Conference Room ${EXTEN:-1})
same  =   n,ConfBridge(${EXTEN:-1})
same  =   n,Hangup()

Yes I could clear things up by reassigning the string splits to a single name and the like... but I didn't. Also, the key here was to actually set up the conference room with all the members but the transferred caller, otherwise I would lose the variables I depended on. The order is therefore the opposite of what I had in my head, but this seems moot. It might also be resolvable through variable inheritance.

Oh, and when pulling in an IVR using Originate(Local/EXTEN@CONTEXT,...), you need to have dtmf_passthrough enabled in confbridge.conf.

Any criticism or words of wisdom are welcome.
 

Members online

No members online now.

Forum statistics

Threads
26,688
Messages
174,412
Members
20,259
Latest member
Fadeek86
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Back
Top