Asterisk - Pre-emption calls

2020-06-27 17:50发布

问题:

I would like to have pre-emption calls in Asterisk. With this I mean that if user A has priority/access-level 1 and wants to talk to user B, how could it preempt the call that user B is already having with user C which has only priority/access-level 2?

Does anyone know if this is supported by Asterisk or how this could be implemented?

Any idea would be very welcome.

回答1:

No, it not supported by asterisk.

But yes, it can be implemented using dialplan+some script magic. Complexity is high and require expert or guru skill.

Short plan is following:

  • check if B is in call (need use DEVICE_STATE or GROUP functions)
  • check if B in call with lower priority caller( ASTDB or REALTIME or fastagi script)
  • wisper both(or only B) party that now have priority call. For that need read about asterisk auto-dialout and wisper.
  • wait till B press confirmation key(features.conf)
  • transfer both B&C to new extension, bridge A&B, play hold for C.
  • deal with restore C connection if needed.


标签: asterisk