[Freeswitch-users] Passing channel variables to mod_fifo and xml_cdr
Andrew Thompson
andrew at hijacked.us
Tue Feb 9 18:56:07 PST 2010
On Tue, Feb 09, 2010 at 02:55:11PM -0800, Michael Collins wrote:
> On Thu, Feb 4, 2010 at 6:09 PM, Adam Ford <lists at redbonez.net> wrote:
>
> > When sending a call through mod_fifo I seem to be losing my custom
> > channel variables that were assigned during prior processing of the call.
> > In my example, I am trying to assign a unique identifier at the time the
> > call enters my FreeSWITCH system in order to more easily tie the xml_cdr
> > logs together. This works great, until a call is processed through
> > mod_fifo, which drops my custom channel variable in the calls that it
> > generates. Is it likely that I have something wrong with my config? Or does
> > mod_fifo not support the passing of custom channel variables?
> >
> >
> >
> > The overall problem I am trying to solve is that mod_fifo generates a
> > separate a-leg for every time it rings an agent. If the agent answers, the
> > a-leg log gets tied to the associated b-leg log with the uuids and I am able
> > to see the entire call in xml_cdr. However, if the agent rejects the call
> > or doesn?t answer, the a-leg is abandoned with seemingly no association back
> > to a b-leg log. Anyone have a better suggestion for tying all these xml_cdr
> > logs together for a full picture of the call?
> >
>
> Just curious - are you looking at this from the caller's perspective or the
> agent's perspective? An unanswered/rejected call from FIFO to an agent
> doesn't tell you very much. However, if you're trying to gather statistics
> on an individual agent then I could see why you'd want to know how many FIFO
> calls they failed to answer. As far as the "new" A leg not being tied back
> to a B leg - Mike J is 100% correct: A FIFO call to an agent has absolutely
> no correlation to any caller waiting in queue. (I suppose the only exception
> to this rule would be if there was only one caller in the queue when the
> FIFO called out to the agents.)
>
> Like Mike said, FIFO is not ACD. FIFO is "get the caller to a human as
> efficiently and quickly as possible." ACD is more of "connect the longest
> waiting caller to the longest waiting agent, with possible exceptions for
> skills, etc." Check out Andrew Thompson's SpiceCSM for a possible solution
> to your scenario.
>
> http://www.opencsm.org/wiki/index.php/SpiceCSM_Community_Edition
>
Actually http://github.com/Vagabond/OpenACD is the place to go now
(although its pretty short on documentation right now). I actually
deployed it last friday and its been running fairly well since then.
After I get a few remaining TODOs out of the way I'll cut a 1.0 RC1 and
do a real announcement (and write some documentation).
On a related note, OpenACD tracks agent ringouts and ring cancels so you
can see if an agent is being lazy and bouncing calls.
Andrew
More information about the FreeSWITCH-users
mailing list