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/[EMAIL PROTECTED])
Then as soon as the call is bridged, my 'h' extension gets run:
-- Executing [EMAIL PROTECTED]:1] Dial("Local/[EMAIL PROTECTED],2",
"SIP/491")
in new stack
-- Called 491
-- SIP/491-00aa22d0 is ringing
-- Local/[EMAIL PROTECTED],1 is ringing
-- SIP/491-00aa22d0 answered Local/[EMAIL PROTECTED],2
-- Local/[EMAIL PROTECTED],1 answered SIP/427-9d849a90
== Spawn extension (agents, 491, 1) exited non-zero on '
Local/[EMAIL PROTECTED],2'
-- Executing [EMAIL PROTECTED]:1] PauseQueueMember("Local/[EMAIL
PROTECTED],2",
"|Local/[EMAIL PROTECTED]") 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/[EMAIL PROTECTED]/n|PAUSEALL|
1183671940|1183671934.5745|emerg_nccc_ld_ts|Local/[EMAIL PROTECTED]
|CONNECT|6|1183671934.5746
1183672005|1183671934.5745|emerg_nccc_ld_ts|Local/[EMAIL PROTECTED]
|TRANSFER|7777|from-somecontext|6|65
If I use /n when adding the channel to the queue:
AddQueueMember(queuename,Local/[EMAIL PROTECTED]/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/[EMAIL PROTECTED]
/n|CONNECT|5|1183672119.5840
1183672135|1183672119.5839|emerg_nccc_ld_ts|Local/[EMAIL PROTECTED]
/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