James FitzGibbon wrote:
> 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
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