Noah Engelberth
2012-Aug-20 18:57 UTC
[asterisk-users] Asterisk 11 queue calls - emulate Dial(b) functionality
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? Thank you, Noah Engelberth MetaLINK Technologies -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20120820/cf8c4bb7/attachment.htm>
Richard Mudgett
2012-Aug-20 19:35 UTC
[asterisk-users] Asterisk 11 queue calls - emulate Dial(b) functionality
> 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?You could use local channels as queue members. Then you can use Dial(b) when the call goes out to the actual extension. Richard