| |||||||||||||||||||||||||||||||
|
> Has anyone observed a problem where using Local channels with > AddQueueMember results in missing TRANSFER events? > > Right now I'm using straight SIP channels when I call > AddQueueMember(). I'm contemplating moving to Local channels because > the non-state-based wrapuptime blows when you have a channel in > multiple queues (they can hang up and get a call immediately so long > as it's from a different queue). My grand plan is to use the 'h' > extension in the context where app_queue calls my agents to invoke > PauseQueueMember instead. > > The problem is with the /n suffix to the channel name. With it, I > lose TRANSFER events. Without it, the 'h' extension gets invoked as > soon as the call is bridged to the agent. > > My agent context looks like this: > > [agents] > exten => 491,1,Dial(SIP/491,20) > exten => h,1,PauseQueueMember(|${CUT(CHANNEL,,1)}) > > When I do something along the lines of: > > AddQueueMember(queuename,Local/XXXX@agents) > > Then as soon as the call is bridged, my 'h' extension gets run: > > -- Executing [491@agents:1] Dial("Local/491@agents-c002,2", > "SIP/491") in new stack > -- Called 491 > -- SIP/491-00aa22d0 is ringing > -- Local/491@agents-c002,1 is ringing > -- SIP/491-00aa22d0 answered Local/491@agents-c002,2 > -- Local/491@agents-c002,1 answered SIP/427-9d849a90 > == Spawn extension (agents, 491, 1) exited non-zero on > 'Local/491@agents-c002,2' > -- Executing [ h@agents:1] > PauseQueueMember("Local/491@agents-c002,2", "|Local/491@agents") in > new stack > -- Stopped music on hold on SIP/427-9d849a90 > > Once the call is bridged, I transfer to 7777 from the agent > softphone. This is what queue log looks like for this type of call: > > 1183671934|1183671934.5745|emerg_nccc_ld_ts|NONE|ENTERQUEUE||427 > 1183671937|NONE|NONE|Local/491@agents/n|PAUSEALL| > 1183671940|1183671934.5745|emerg_nccc_ld_ts|Local/491 > 1183672005|1183671934.5745|emerg_nccc_ld_ts|Local/491@agents > |TRANSFER|7777|from-somecontext|6|65 > > If I use /n when adding the channel to the queue: > > AddQueueMember(queuename,Local/XXXX@agents/n) > > Then my 'h' extension is not executed until the bridged call is > actually over. I do the same transfer, but it doesn't show up in the > queue log - the call appears to have been terminated by the caller. > > 1183672119|1183672119.5839|emerg_nccc_ld_ts|NONE|ENTERQUEUE||427 > 1183672124|1183672119.5839|emerg_nccc_ld_ts|Local/491 > 1183672135|1183672119.5839|emerg_nccc_ld_ts|Local/491@agents > /n|COMPLETECALLER|5|11|1 > > Any ideas? I need the Pause-on-agent-hangup behaviour (or something > like it, short of adding proper wrapup state to app_queue), but I > can't lose visibility of my transfers (especially not after I just > introduced the sales people to them after never having visibility of > this stat on a Nortel BCM) > > Much appreciated. > > -- > j. > ------------------------------------------------------------------------ > > _______________________________________________ > --Bandwidth and Colocation Provided by http://www.api-digital.com-- > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users I would suggest using the AMI to watch for the complete events and have your ami watcher fire in the pause, that way you could use actual device names or even dynamic members. _______________________________________________ --Bandwidth and Colocation Provided by http://www.api-digital.com-- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
| ||||||||||||||||||||||||||||||
© 2004-2008 readlist.com