[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