I tried using fifo in an environment with about 9 agents last week, but ran into some issues, that I'm trying to piece together. The system is setup on a new ubuntu 64-bit machine and it should be plenty fast to handle this load. The delay does not occur when testing with a single agent...so it's hard for me to replicate on my vmware-based development machine, but thought I'd toss this out to the community to see if anyone has any suggestions<div>
<br></div><div>I'm using fifo in the reverse sense, in that my "agents" are put into a fifo, and an outbound call (a "contact") take an agent out of the fifo once the call is answered. I did this because it is an outbound call center, not an inbound one, and in reality I have agents waiting for a contact...not callers waiting for an agent.</div>
<div><br></div><div>Anyway, on about all my calls the logs indicate (and the agents I'm working with confirm), it appears to be taking > 5 seconds to actually bridge a call once the outbound "contact" channel is answered by FS and the channel takes an agent out of the fifo. I've attached a snipet of the fs.log and the dialplan below. But from timestamps it appears the delay is caused somewhere between these EXECUTE commands</div>
<div><br></div><div><div>EXECUTE sofia/external/1XXX4951027 set_user(default@)</div><div>EXECUTE sofia/external/1XXX4951027 db(insert/-spymap/1800XXX8234/aa763964-2933-11de-bbea-318f8f194b60)</div><div>EXECUTE sofia/external/1XXX4951027 db(insert/-last_dial/1800XXX8234/1990)</div>
<div>EXECUTE sofia/external/1XXX4951027 db(insert/-last_dial/global/aa763964-2933-11de-bbea-318f8f194b60)</div><div>EXECUTE sofia/external/1XXX4951027 answer()</div><div>EXECUTE sofia/external/1XXX4951027 set(fifo_caller_consumer_import=hh_stomp,hh_user)</div>
<div><br></div><div>when I looked at this..nothing pops out as out of the ordinary, that should cause >5 seconds delay. Your thoughts please ..</div><div><br></div><div>Thanks.</div><div><br></div><div>--matt</div><div>
<br></div><div>Full Log:</div><div><div>2009-04-14 16:35:18 [DEBUG] mod_sofia.c:173 sofia_on_execute() sofia/external/1XXX4951027 SOFIA EXECUTE</div><div>2009-04-14 16:35:18 [DEBUG] switch_core_state_machine.c:151 switch_core_standard_on_execute() sofia/external/1XXX4951027 Standard EXECUTE</div>
<div>EXECUTE sofia/external/1XXX4951027 set(open=true)</div><div>2009-04-14 16:35:18 [DEBUG] mod_dptools.c:748 set_function() sofia/external/1XXX4951027 SET [open]=[true]</div><div>EXECUTE sofia/external/1XXX4951027 set(use_profile=default)</div>
<div>2009-04-14 16:35:18 [DEBUG] mod_dptools.c:748 set_function() sofia/external/1XXX4951027 SET [use_profile]=[default]</div><div>EXECUTE sofia/external/1XXX4951027 set_user(default@)</div><div>EXECUTE sofia/external/1XXX4951027 db(insert/-spymap/1800XXX8234/aa763964-2933-11de-bbea-318f8f194b60)</div>
<div>EXECUTE sofia/external/1XXX4951027 db(insert/-last_dial/1800XXX8234/1990)</div><div>EXECUTE sofia/external/1XXX4951027 db(insert/-last_dial/global/aa763964-2933-11de-bbea-318f8f194b60)</div><div>EXECUTE sofia/external/1XXX4951027 answer()</div>
<div>EXECUTE sofia/external/1XXX4951027 set(fifo_caller_consumer_import=hh_stomp,hh_user)</div><div>2009-04-14 16:35:42 [DEBUG] mod_dptools.c:748 set_function() sofia/external/1XXX4951027 SET [fifo_caller_consumer_import]=[hh_stomp,hh_user]</div>
<div>EXECUTE sofia/external/1XXX4951027 set(fifo_consumer_exit_key=5)</div><div>2009-04-14 16:35:42 [DEBUG] mod_dptools.c:748 set_function() sofia/external/1XXX4951027 SET [fifo_consumer_exit_key]=[5]</div><div>EXECUTE sofia/external/1XXX4951027 fifo(2 out wait undef undef)</div>
<div>2009-04-14 16:35:42 [DEBUG] switch_channel.c:182 switch_channel_audio_sync() sofia/external/1XXX4951027 receive message [AUDIO_SYNC]</div><div>2009-04-14 16:35:43 [DEBUG] switch_ivr_bridge.c:911 switch_ivr_multi_threaded_bridge() sofia/external/1XXX4951027 receive message [BRIDGE]</div>
<div><br></div><div><br></div><div>Dialplan that Inbound "Contact" Calls are placed in</div><div><div> <extension name="1990"><!--ag_incoming_q--></div><div> <condition field="destination_number" expression="^1990$"></div>
<div> <action application="answer"/></div><div> <action application="set" data="fifo_caller_consumer_import=hh_stomp,hh_user"/></div><div> <action application="set" data="fifo_consumer_exit_key=5"/></div>
<div> <action application="fifo" data="${ag_qcall} out wait undef ${ag_dnc_msg}"/></div><div> </condition></div><div> </extension></div></div><div><br></div><div><br></div>
<div>Dialplan for "my" Agent Calls:</div><div><div> <extension name="1992"><!--ag_wait--></div><div> <condition field="destination_number" expression="^1992$"></div>
<div> <action application="playback" data="hh/hh-doorbell.wav"/></div><div> <action application="fifo" data="${ag_qcall} in currency/dollars.wav $${hold_music}"/></div>
<div> </condition></div><div> </extension></div></div><div><br></div></div></div>