[Freeswitch-users] fifo problem

Tamas Cseke cstomi.levlist at gmail.com
Tue Feb 3 05:51:29 PST 2009


Hello,

We have a problem with mod_fifo.

we monitor fifo push event on event socket,
call consumer with originate & fifo out nowait
Similar like fifo_outbound works, but we have an external strategy for 
consumer selection (eg.: skill-based routing)

The problem is when a caller stops waiting in fifo, the originated calls 
kepp ringing the consumer, and when the consumer answer the call,
he or she may grab somebody else from the fifo, which is a problem 
because the callers are identified and some data (eg name, phonenumber 
is shown for the consumer).
so it can happen these data will be wrong.

We tried to resolve this issue by a call tracking in the external script 
using event socket.
we pushes a variable into the CHANNEL_ORIGINATE event calling the 
consumer containing the caller uuid.
and if the caller aborts the fifo, we hangup the consumer call with 
(uuid_kill)
But it's not prefect becasue it can happen that the consumer pop another 
caller from the fifo.
and we hangup this call, so as a side-effect we loosing another caller.

Could anybody advise a solution for this please?
we thinking about to have a fifo_caller_uuid variable, that we set 
before calling fifo with the out method.
and if this uuid is in the top of the fifo then pop it else don't pop 
anybody.
it seems to be a hack anyway....

Thanks in advance,
Tamas







More information about the FreeSWITCH-users mailing list