VoIP Mailing List Archives
Mailing list archives for the VoIP community |
|
View previous topic :: View next topic |
Author |
Message |
dujinfang at gmail.com Guest
|
Posted: Mon May 04, 2009 10:54 pm Post subject: [Freeswitch-users] any way ring fifo members one by one? |
|
|
I think order by outbound_call_count will cause problem. Think about the fifo run a few days, and we added a new member, the outbound_call_count will always less than others in a certain time. What about use order by next_avail?
On May 4, 2009, at 10:55 PM, François Delawarde wrote: Quote: | Hello,
Anthony, I would like to provide a patch allowing having different call distribution strategies, at least for "call back" agents.
Do you think the simple approach of modifying the SQL query in find_consumers (given strategy that would be set from dialplan) would be enough?
Thanks,
François.
On Mon, 2009-05-04 at 08:25 -0500, Anthony Minessale wrote:
Quote: |
On Sun, May 3, 2009 at 11:01 PM, seven <dujinfang@gmail.com (dujinfang@gmail.com)> wrote: Quote: | Actually, for the "call back" agents, because the fifo use originate to start a new session, the new session won't hang up unless one agent answered or timeout. Agents will hear nothing and wait(member_wait=wait) on the queue or hanup(nowait) if caller hang up before an agent answer the phone. ' |
When you are using on-hook agents, it's presumed to be under low call volume, you can just set the agents to get popped
into the queue in nowait mode so if the caller changed his mind the agent will get a hangup. Remember, if there are X customers in the queue, mod_fifo generates X outbound calls to try to service them.
Quote: | And I also found out the the member timeout doesn't work but call_timeout works in a dial string. Is it a bug I should reported to jira? | Quote: | <fifo name="sales_fifo@$${domain}" importance="0"> | Quote: | <member timeout="10" simo="1" lag="5">{call_timeout=6,fifo_member_wait=nowait}user/1009@$${domain}</member> |
call_timeout is only valid on inbound legs to set the timeout it's willing to wait for a caller to answer. You are confusing it with leg_timeout which is designed to go in the {}
Quote: | And even the timeout works, it's not ideal. It's better to bridge to an agent other than originate I think. Keep looking. |
I am not sure what you mean by that. bridge instead of originate? The process is to originate the call and then bridge the agent to the caller. All calls in FS start out as origiante????
If you want app_queue you are welcome to download and use it from http://www.asterisk.org
Quote: | On Apr 29, 2009, at 4:27 PM, François Delawarde wrote: | Quote: | Quote: | Hi,
It should be easy to modify mod_fifo to include this functionality.
Correct me if I'm wrong:
For "call back" agents at least, when X calls are in the the queue, Freeswitch tries to search for up to X agents in database. This algorithm is much more optimized than Asterisk, as Asterisk will take calls one by one and try to connect them to an agent, it should then stay as it is.
The simplest idea to control the call distribution algorithm would be to modify the database query in the "find_consumers" function (right now, the algorithm is: "order by outbound_call_count"). A variable could control the "order by" of this query, and the problem would be solved at least for "call back" agents. I guess sqlite3 should allow very complex queries, but I don't know if there could be performance issues.
Do you think it is a possible -trivial- solution?
François.
On Wed, 2009-04-29 at 08:46 +0200, Antonio Gallo wrote: | |
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
AIM: anthm
MSN:anthony_minessale@hotmail.com ([email]MSN%3Aanthony_minessale@hotmail.com[/email])
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com ([email]PAYPAL%3Aanthony.minessale@gmail.com[/email])
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org ([email]sip%3A888@conference.freeswitch.org[/email])
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org ([email]googletalk%3Aconf%2B888@conference.freeswitch.org[/email])
pstn:213-799-1400 |
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org (Freeswitch-users@lists.freeswitch.org)
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
|
|
|
Back to top |
|
|
dujinfang at gmail.com Guest
|
Posted: Tue May 05, 2009 2:07 am Post subject: [Freeswitch-users] any way ring fifo members one by one? |
|
|
here is my patch:
http://jira.freeswitch.org/browse/MODAPP-272
On May 4, 2009, at 9:25 PM, Anthony Minessale wrote: Quote: |
On Sun, May 3, 2009 at 11:01 PM, seven <dujinfang@gmail.com (dujinfang@gmail.com)> wrote:
Quote: | Actually, for the "call back" agents, because the fifo use originate to start a new session, the new session won't hang up unless one agent answered or timeout. Agents will hear nothing and wait(member_wait=wait) on the queue or hanup(nowait) if caller hang up before an agent answer the phone. '
|
When you are using on-hook agents, it's presumed to be under low call volume, you can just set the agents to get popped
into the queue in nowait mode so if the caller changed his mind the agent will get a hangup. Remember, if there are X customers in the queue, mod_fifo generates X outbound calls to try to service them.
Quote: |
And I also found out the the member timeout doesn't work but call_timeout works in a dial string. Is it a bug I should reported to jira?
<fifo name="sales_fifo@$${domain}" importance="0">
<member timeout="10" simo="1" lag="5">{call_timeout=6,fifo_member_wait=nowait}user/1009@$${domain}</member>
</fifo>
|
call_timeout is only valid on inbound legs to set the timeout it's willing to wait for a caller to answer. You are confusing it with leg_timeout which is designed to go in the {}
Quote: |
And even the timeout works, it's not ideal. It's better to bridge to an agent other than originate I think. Keep looking.
|
I am not sure what you mean by that. bridge instead of originate? The process is to originate the call and then bridge the agent to the caller. All calls in FS start out as origiante????
If you want app_queue you are welcome to download and use it from http://www.asterisk.org
Quote: |
On Apr 29, 2009, at 4:27 PM, François Delawarde wrote:
Quote: | Hi,
It should be easy to modify mod_fifo to include this functionality.
Correct me if I'm wrong:
For "call back" agents at least, when X calls are in the the queue, Freeswitch tries to search for up to X agents in database. This algorithm is much more optimized than Asterisk, as Asterisk will take calls one by one and try to connect them to an agent, it should then stay as it is.
The simplest idea to control the call distribution algorithm would be to modify the database query in the "find_consumers" function (right now, the algorithm is: "order by outbound_call_count"). A variable could control the "order by" of this query, and the problem would be solved at least for "call back" agents. I guess sqlite3 should allow very complex queries, but I don't know if there could be performance issues.
Do you think it is a possible -trivial- solution?
François.
On Wed, 2009-04-29 at 08:46 +0200, Antonio Gallo wrote:
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org (Freeswitch-users@lists.freeswitch.org)
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
|
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org (Freeswitch-users@lists.freeswitch.org)
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
|
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
AIM: anthm
MSN:anthony_minessale@hotmail.com ([email]MSN%3Aanthony_minessale@hotmail.com[/email])
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com ([email]PAYPAL%3Aanthony.minessale@gmail.com[/email])
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org ([email]sip%3A888@conference.freeswitch.org[/email])
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org ([email]googletalk%3Aconf%2B888@conference.freeswitch.org[/email])
pstn:213-799-1400
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org (Freeswitch-users@lists.freeswitch.org)
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
|
|
|
Back to top |
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|