I come here not to debate why it is a good or bad idea, nor to debate the virtues of call park, or non-FreePBX solutions. I want to see how far I can get in FreePBX as an experiment, and hopefully have the community help me fill in the blanks and gotchas.
My ideas so far:
Caller calls inbound route (555.555.5555) and is transferred to a conference bridge (5555), where there hear ringing instead of hold music.
At the same time extension (555) is rung. If extension answers, they are bridged into conference. 5555. The hold music (ringing) stops for the caller because two parties are on the bridge. If extension does not answer, move the caller to that extensions (555) coverage path (voicemail).
Put a BLF on every phone for conference (5555) so that you could hang up and join the conference (phone call) from any phone with the “Shared Line Appearance”.
Is there a way to make the conference dynamic so I don’t have to hardcode each conference or maybe it is a range of bridges that goes to the next open one?
Is there a way to program a dynamic BLF, so it watches (lights up) and joins the bridge that is active within a range? Watch bridges 55550,55551,55552.
What would be a good approach for hanging up on the customer after the extension has joined the chat initially, but hangs up (because the call is over).
Any ideas about this approach? Anything missing from the questions? Any better ideas?
Also keep in mind that bouncing people in and out of confbridges, etc is going to require some AMI (perhaps AGI) because you’re going to have to Redirect them out of the confbridge, which means they are in a bridge, to send them to voicemail/alternate destinations.
You’re also going to need to address FollowMe and Ring Groups.
I experimented with this using dialplan only as a bolt on to fpbx several years ago, and eventually gave up due to complexity. One of the main problems was ensuring that two external callers would never be bridged together accidentally.
Doing such a thing properly with Asterisk would probably mean not using dialplan and using ARI. It’s not a trivial task.
100% agreed. AMI or ARI would be needed for this. It’s going to be really complex and as I said before things like FollowMe (pre-rings, v2-prim strategies) and ring groups would need to be addressed for when calls flow through those features. I’m not sure the pay off is worth it. Nor do I think you can use dynamic confbridges and have static BLF/hints for them. How would dialing 55501 know what dynamic bridge to use? How would the confbridge: hint know?
There are a lot of moving parts for all this including chan_pjsip configs, resource lists, etc.
I was planning on 100% Sangoma IP phones, Sangoma Talk desktop and mobile app. But I was getting stuck here in my thinking too. Is there a way to dynamically adjust a button? I don’t think so, so the shared line would be limited to one appearance.
I think your right, It has to be all AMI to be able to check status and move. The only thing I wish I could do is have a dynamic button, but I don’t think that is possible. I’ll take a stab at AMI and report it back here for the group to look at.