[asterisk-users] Missing TRANSFER event in queue log when using Local Channels
James FitzGibbon
james.fitzgibbon at gmail.com
Thu Jul 5 17:20:13 CDT 2007
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 at agents)
Then as soon as the call is bridged, my 'h' extension gets run:
-- Executing [491 at agents:1] Dial("Local/491 at agents-c002,2", "SIP/491")
in new stack
-- Called 491
-- SIP/491-00aa22d0 is ringing
-- Local/491 at agents-c002,1 is ringing
-- SIP/491-00aa22d0 answered Local/491 at agents-c002,2
-- Local/491 at agents-c002,1 answered SIP/427-9d849a90
== Spawn extension (agents, 491, 1) exited non-zero on '
Local/491 at agents-c002,2'
-- Executing [h at agents:1] PauseQueueMember("Local/491 at agents-c002,2",
"|Local/491 at 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 at agents/n|PAUSEALL|
1183671940|1183671934.5745|emerg_nccc_ld_ts|Local/491 at agents
|CONNECT|6|1183671934.5746
1183672005|1183671934.5745|emerg_nccc_ld_ts|Local/491 at agents
|TRANSFER|7777|from-somecontext|6|65
If I use /n when adding the channel to the queue:
AddQueueMember(queuename,Local/XXXX at 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 at agents
/n|CONNECT|5|1183672119.5840
1183672135|1183672119.5839|emerg_nccc_ld_ts|Local/491 at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20070705/c9bc20f4/attachment.htm
More information about the asterisk-users
mailing list