I currently run an Asterisk 10 system with hotdesking functionality set up. Several of the users have worked with a system in the past that supported BLF on their IP phones, and would like their current phones to behave in a similar fashion. Right now I have a really kludgy system that mostly works, but doesn’t consistently trigger the cleanup macro to “clear” the device state on the end of a call. Rather than continue to beat my head against the wall playing “which context isn’t firing an h extension to dump calls into the cleanup macro”, I decided to investigate Asterisk 11 for the new Dial() b function and the new hangup handler CHANNEL variable.
I have the hints working more or less correctly on direct calls to/from the phones, making use of the b and U functions in Dial() and some judicious use of GROUP channel variables and CHANNEL(hangup_handler_wipe). But, on my live system, sometimes the users receive calls from a queue, and I don’t see any way with the queue calls to emulate the b functionality in Dial() to be able to set the agent extension’s device state to RINGING when the queue call gets created. Obviously, I can use membergosub to set the agent to “INUSE” after they pick up the call (like Dial() U), but is there anything that I can use to manipulate the channel that is calling the agent while/before it is ringing?
Noah Engelberth MetaLINK Technologies