问题
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.
来源:https://stackoverflow.com/questions/20118662/asterisk-pre-emption-calls