Allow two extensions to answer same call

my boss is looking for an interesting setup between him and his assistant.

He would like an incoming call to ring both his and his assistant’s extensions. If he should answer the call ringing should stop for assistant. If his assistant should answer then his extension should keep on ringing and if he picks up he should be placed on the line with both his assistant and the caller.

I had been thinking perhaps I could have an incoming call get routed into a conference room upon which the conference room will ring the extensions of my boss and his assistant. Not sure how I could get the assistant’s extension to stop ringing when boss answers. Also not sure how to handle a second incoming call when a first call is in progress. I would need the second call to go into a new conference room. What I would really need is a temporary conference room get created on the fly for each incoming call.

Anyone have any advice on how I could implement this?

Maybe like this:

  • boss has his own queue
  • incoming call goes to another queue, which the conf room and the boss’s queue are members of (if possible), that has ‘queue no answer’ on
  • conf room issues 2 new calls (if it does work like that) directed to another queue, which the boss’s queue and the assistant extension are members of, and also has queue-no-answer set; Replace conf room with maybe a custom application or custom destination, if appropriate.
  • if the assistant picks up, the call is set to ‘taken’ by the second queue, and boss’s phone keeps ringing after a short gap, thanks to the conf room (maybe with a cid remark, to say ‘through assistant’)
  • if boss picks up first, the incoming queue cancels the call to the conf room and hence to the assistant,
  • hope this woks :wink: as imagined.

how can I get the conference room to issue two new calls?

i said

  • apparently it does not, you need something else…

Looks like, you can’t ring ‘out’ of the conference (it’s a one way destination) (even conf pro can’t) sorry for confusion…

Looks like you need to direct the incoming call to the conference, and then ORIGINATE a new call somehow - most likely some Custom Destination … which I can’t really help much with…

But, if your queue had ‘queue no answer’ set, and the conference had ‘leader wait’ on (with the assistant being the ‘leader’, so the conference only starts when assistant lifts the phone…

So rev.2 :

  • incoming route goes to a queue (with queue no answer)
  • queue has conf room and the Custom Destinations (1 and 2), and boss’s queue as its destinations
    (so if boss lifts first, no conference happens)
  • conf room has ‘leader wait’ with the leader being set to the assistant extension,
  • the custom destination 1, originates a call to the conf room on behalf of the assistant’s extension, so if assistant takes it, the conference ‘takes’ the original call and the one direct to boss’s queue is cancelled; boss’s queue also needs to have ‘queue no answer’ set, so the call is only ‘truly answered’ when the extension picks it up.
  • but still ‘custom destination 2’ originates a call to conf room, on behalf of boss’s queue, so boss might know by CLID, that it’s been taken by the assistant already,
  • with some timing sequencing, you need to ensure the ‘originated’ call to boss’s queue arrives there later than the one coming direct from the entry queue…

This in turn depends on how to write a Custom Destination to Originate Calls; you might want to see/search how to do that first… also to be able to identify the leader by pin without having them to push buttons. Not sure how realistic might that be.

There is also some question about the state of this if none of the participants want to lift the particular call (cancelling of the ‘originated’ ones).

(it would have been all simpler if not for the conf/mix room requirement…)
(hope this would make sense)

There may also be some ways to use Custom Applications (like ones not included in FreePBX), to use Asterisk applications directly (mixmon, chanspy, maybe, but pls don’t quote me, cause I don’t know…)