Sponsor: VoiceMeUp - Corporate & Wholesale VoIP Services

VoIP Mailing List Archives
Mailing list archives for the VoIP community
 SearchSearch 

[Freeswitch-users] any way ring fifo members one by one?

Goto page 1, 2  Next
 
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> freeSWITCH Users
View previous topic :: View next topic  
Author Message
dujinfang at gmail.com
Guest





PostPosted: Mon Apr 27, 2009 11:39 pm    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with quote

Hi,

I'm on trunk 13174, and route a call to fifo, but two members ring at
the same time. I want it ring one by one in a round robin manner,
what's wrong with me?

here is fifo.xml

<fifo name="sales_fifo@$${domain}" importance="0">
<member timeout="60" simo="1"
lag="20">{fifo_member_wait=wait}user/1009@$${domain}</member>
<member timeout="60" simo="1"
lag="20">{fifo_member_wait=wait}user/1001@$${domain}</member>
</fifo>

We want to implement a call center where agents register to waiting
customers, when a customer calls in, it will drop in a queue and
search one available agent(in round robin manner). Most fifo functions
seems implemented for scenarios where agents dial in and waiting
callers, which is unnecessary on our condition.


Thanks.

_______________________________________________
Freeswitch-users mailing list
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
anthony.minessale at g...
Guest





PostPosted: Tue Apr 28, 2009 7:35 am    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with quote

learn to think 4th dimensionally =D

Add one <member> with a | sep list in the dial string.


On Mon, Apr 27, 2009 at 11:35 PM, seven <dujinfang@gmail.com (dujinfang@gmail.com)> wrote:
Quote:
Hi,

I'm on trunk 13174, and route a call to fifo, but two members ring at
the same time. I want it ring one by one in a round robin manner,
what's wrong with me?

here is fifo.xml

    <fifo name="sales_fifo@$${domain}" importance="0">
      <member timeout="60" simo="1"
lag="20">{fifo_member_wait=wait}user/1009@$${domain}</member>
      <member timeout="60" simo="1"
lag="20">{fifo_member_wait=wait}user/1001@$${domain}</member>
    </fifo>

We want to implement a call center where agents register to waiting
customers, when a customer calls in, it will drop in a queue and
search one available agent(in round robin manner). Most fifo functions
seems implemented for scenarios where agents dial in and waiting
callers, which is unnecessary on our condition.


Thanks.

_______________________________________________
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
Back to top
dujinfang at gmail.com
Guest





PostPosted: Tue Apr 28, 2009 8:47 am    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with quote

Ah, right, that works. I had thought the purpose of members is for sequential hunting. looks I was wrong.

However, add a | sep'ed dial string is hard to do round robin hunting, as we don't want the first agent always busy while others have nothing to do. It is possible to add/delete members using another script to set different dialstring to emulate a round robin hunt, but why not implement it in the queue logic?


questions:


1) What's the purpose for members? just for simultaneous ring?
2) What's the best use case of agents dial in a fifo to wait callers? They just listening to music and waiting if no caller? I guess that would be for very busy call centers.
3) In my test, other members keep ring after one answered, some times it even ring a long time after the caller hangup.



I'm currently using trixbox. when a call comes in, it just play a greeting and ring one free agent and fail over to other agents if no answer or playing moh if all agents are busy. I just want to implement the same logic in FS and replace it as * causing a lot of problems.


I know there are already rules of how to pull a call out from a fifo, and guess it would be possible to add some params to do sequential/round robin hunting for members, and by using dp tools to dynamically add/delete members it would me more powerful.


Thanks.

On Apr 28, 2009, at 8:33 PM, Anthony Minessale wrote:
Quote:
learn to think 4th dimensionally =D

Add one <member> with a | sep list in the dial string.


On Mon, Apr 27, 2009 at 11:35 PM, seven <dujinfang@gmail.com (dujinfang@gmail.com)> wrote:
Quote:
Hi,

I'm on trunk 13174, and route a call to fifo, but two members ring at
the same time. I want it ring one by one in a round robin manner,
what's wrong with me?

here is fifo.xml

<fifo name="sales_fifo@$${domain}" importance="0">
<member timeout="60" simo="1"
lag="20">{fifo_member_wait=wait}user/1009@$${domain}</member>
<member timeout="60" simo="1"
lag="20">{fifo_member_wait=wait}user/1001@$${domain}</member>
</fifo>

We want to implement a call center where agents register to waiting
customers, when a customer calls in, it will drop in a queue and
search one available agent(in round robin manner). Most fifo functions
seems implemented for scenarios where agents dial in and waiting
callers, which is unnecessary on our condition.


Thanks.

_______________________________________________
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
gallo at mctelefonia.com
Guest





PostPosted: Tue Apr 28, 2009 9:21 am    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with quote

dujinfang ha scritto:
Quote:
It is possible to add/delete members using another script
I'm not such expert but i think you can use variables everywhere in FS.
So your member config instead of having a static string
"user1@domain|user2@domain" probably you can use a variables.
Then you script just push the user in/out fo that database variable string.

Antonio

_______________________________________________
Freeswitch-users mailing list
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
anthony.minessale at g...
Guest





PostPosted: Tue Apr 28, 2009 9:48 am    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with quote

keep in mind mod_fifo is not a call center app. it's a simple *fifo* queue hence the name.


On Tue, Apr 28, 2009 at 8:30 AM, dujinfang <dujinfang@gmail.com (dujinfang@gmail.com)> wrote:
Quote:
Ah, right, that works. I had thought the purpose of members is for sequential hunting. looks I was wrong.

However, add a | sep'ed dial string is hard to do round robin hunting, as we don't want the first agent always busy while others have nothing to do. It is possible to add/delete members using another script to set different dialstring to emulate a round robin hunt, but why not implement it in the queue logic?



Other strategies to place calls could be added with a patch to the code.  The goal of the module was to be basic and have
most of the control and logic remain outside the module.

 
Quote:


questions:


1) What's the purpose for members? just for simultaneous ring?


They are essentially on-hook agents for a setup where you don't need people waiting on the phone.
 
Quote:

2) What's the best use case of agents dial in a fifo to wait callers? They just listening to music and waiting if no caller? I guess that would be for very busy call centers.


Yes its so you can call in an pop all the calls off the fifo in the same one call.


 
Quote:
3) In my test, other members keep ring after one answered, some times it even ring a long time after the caller hangup.



It's not ring-all, there is exactly one outbound call generated for every one person in the queue who is waiting so sometimes there is collateral damage.

 
Quote:


 
I'm currently using trixbox. when a call comes in, it just play a greeting and ring one free agent and fail over to other agents if no answer or playing moh if all agents are busy. I just want to implement the same logic in FS and replace it as * causing a lot of problems.


I know there are already rules of how to pull a call out from a fifo, and guess it would be possible to add some params to do sequential/round robin hunting for members, and by using dp tools to dynamically add/delete members it would me more powerful.




You could post it as a bounty, a change like that is a lot to do as a wish request.


 
Quote:


Thanks.


On Apr 28, 2009, at 8:33 PM, Anthony Minessale wrote:
Quote:
learn to think 4th dimensionally =D

Add one <member> with a | sep list in the dial string.


On Mon, Apr 27, 2009 at 11:35 PM, seven <dujinfang@gmail.com (dujinfang@gmail.com)> wrote:
Quote:
Hi,

I'm on trunk 13174, and route a call to fifo, but two members ring at
the same time. I want it ring one by one in a round robin manner,
what's wrong with me?

here is fifo.xml

    <fifo name="sales_fifo@$${domain}" importance="0">
      <member timeout="60" simo="1"
lag="20">{fifo_member_wait=wait}user/1009@$${domain}</member>
      <member timeout="60" simo="1"
lag="20">{fifo_member_wait=wait}user/1001@$${domain}</member>
    </fifo>

We want to implement a call center where agents register to waiting
customers, when a customer calls in, it will drop in a queue and
search one available agent(in round robin manner). Most fifo functions
seems implemented for scenarios where agents dial in and waiting
callers, which is unnecessary on our condition.


Thanks.

_______________________________________________
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









_______________________________________________
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
Back to top
dujinfang at gmail.com
Guest





PostPosted: Tue Apr 28, 2009 10:59 am    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with quote

Thank you for the detailed implementation, comments follows.


On Apr 28, 2009, at 10:24 PM, Anthony Minessale wrote:
Quote:
keep in mind mod_fifo is not a call center app. it's a simple *fifo* queue hence the name.



Yeah but FS is more than a *, it should be able to do a call center like job.

Quote:
On Tue, Apr 28, 2009 at 8:30 AM, dujinfang <dujinfang@gmail.com (dujinfang@gmail.com)> wrote:
Quote:
Ah, right, that works. I had thought the purpose of members is for sequential hunting. looks I was wrong.

However, add a | sep'ed dial string is hard to do round robin hunting, as we don't want the first agent always busy while others have nothing to do. It is possible to add/delete members using another script to set different dialstring to emulate a round robin hunt, but why not implement it in the queue logic?



Other strategies to place calls could be added with a patch to the code. The goal of the module was to be basic and have
most of the control and logic remain outside the module.





Then maybe better to keep it simple, and make another mod other than patch the code. What's your suggestion? And, do you think it would be easy to control my logic outside the module using lua/event_socket ?

Quote:

Quote:


questions:


1) What's the purpose for members? just for simultaneous ring?


They are essentially on-hook agents for a setup where you don't need people waiting on the phone.

Quote:

2) What's the best use case of agents dial in a fifo to wait callers? They just listening to music and waiting if no caller? I guess that would be for very busy call centers.


Yes its so you can call in an pop all the calls off the fifo in the same one call.



Quote:
3) In my test, other members keep ring after one answered, some times it even ring a long time after the caller hangup.



It's not ring-all, there is exactly one outbound call generated for every one person in the queue who is waiting so sometimes there is collateral damage.


Will do more test on this.


Quote:

Quote:



I'm currently using trixbox. when a call comes in, it just play a greeting and ring one free agent and fail over to other agents if no answer or playing moh if all agents are busy. I just want to implement the same logic in FS and replace it as * causing a lot of problems.


I know there are already rules of how to pull a call out from a fifo, and guess it would be possible to add some params to do sequential/round robin hunting for members, and by using dp tools to dynamically add/delete members it would me more powerful.




You could post it as a bounty, a change like that is a lot to do as a wish request.





Maybe I can try to play that, will look the code to see how hard will be. Thank you again.

Quote:


Quote:


Thanks.


On Apr 28, 2009, at 8:33 PM, Anthony Minessale wrote:
Quote:
learn to think 4th dimensionally =D

Add one <member> with a | sep list in the dial string.


On Mon, Apr 27, 2009 at 11:35 PM, seven <dujinfang@gmail.com (dujinfang@gmail.com)> wrote:
Quote:
Hi,

I'm on trunk 13174, and route a call to fifo, but two members ring at
the same time. I want it ring one by one in a round robin manner,
what's wrong with me?

here is fifo.xml

<fifo name="sales_fifo@$${domain}" importance="0">
<member timeout="60" simo="1"
lag="20">{fifo_member_wait=wait}user/1009@$${domain}</member>
<member timeout="60" simo="1"
lag="20">{fifo_member_wait=wait}user/1001@$${domain}</member>
</fifo>

We want to implement a call center where agents register to waiting
customers, when a customer calls in, it will drop in a queue and
search one available agent(in round robin manner). Most fifo functions
seems implemented for scenarios where agents dial in and waiting
callers, which is unnecessary on our condition.


Thanks.

_______________________________________________
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









_______________________________________________
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
gallo at mctelefonia.com
Guest





PostPosted: Tue Apr 28, 2009 11:04 am    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with quote

dujinfang ha scritto:
Quote:
Yeah but FS is more than a *, it should be able to do a call center
like job.
I think if you open a bounty you can get some nice feedback about this.

Antonio


_______________________________________________
Freeswitch-users mailing list
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





PostPosted: Tue Apr 28, 2009 8:54 pm    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with quote

oh, thank you Antonio. I think it would be better to collect more
ideas before open a bounty. And I more interested in playing(including
patching the code) with that than use the function.

On Apr 28, 2009, at 11:39 PM, Antonio Gallo wrote:

Quote:
dujinfang ha scritto:
Quote:
Yeah but FS is more than a *, it should be able to do a call center
like job.
I think if you open a bounty you can get some nice feedback about
this.

Antonio


_______________________________________________
Freeswitch-users mailing list
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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
Back to top
gallo at mctelefonia.com
Guest





PostPosted: Wed Apr 29, 2009 1:51 am    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with quote

seven ha scritto:
Quote:
oh, thank you Antonio. I think it would be better to collect more
ideas before open a bounty. And I more interested in playing(including
patching the code) with that than use the function.

I was working on other stuff yesterday and just looked at the wiki:
- it seems there is already a bounty for something like that;
- there is a wiki page about how to implement it with Javascript, ofc
you need to tailor it to your own needs;

AgX



_______________________________________________
Freeswitch-users mailing list
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
fdelawarde at wireless...
Guest





PostPosted: Wed Apr 29, 2009 3:28 am    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with 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: seven ha scritto: > oh, thank you Antonio. I think it would be better to collect more > ideas before open a bounty. And I more interested in playing(including > patching the code) with that than use the function. > I was working on other stuff yesterday and just looked at the wiki: - it seems there is already a bounty for something like that; - there is a wiki page about how to implement it with Javascript, ofc you need to tailor it to your own needs; AgX _______________________________________________ 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





PostPosted: Sun May 03, 2009 11:04 pm    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with 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. '


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>


And even the timeout works, it's not ideal. It's better to bridge to an agent other than originate I think. Keep looking.


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:
Quote:
Quote:
seven ha scritto:
Quote:
oh, thank you Antonio. I think it would be better to collect more
ideas before open a bounty. And I more interested in playing(including
patching the code) with that than use the function.

I was working on other stuff yesterday and just looked at the wiki:
- it seems there is already a bounty for something like that;
- there is a wiki page about how to implement it with Javascript, ofc
you need to tailor it to your own needs;

AgX



_______________________________________________
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
Back to top
anthony.minessale at g...
Guest





PostPosted: Mon May 04, 2009 8:29 am    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with 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:
Quote:
Quote:
seven ha scritto:
Quote:
oh, thank you Antonio. I think it would be better to collect more
ideas before open a bounty. And I more interested in playing(including
patching the code) with that than use the function.

I was working on other stuff yesterday and just looked at the wiki:
- it seems there is already a bounty for something like that;
- there is a wiki page about how to implement it with Javascript, ofc
you need to tailor it to your own needs;

AgX



_______________________________________________
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






_______________________________________________
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
Back to top
fdelawarde at wireless...
Guest





PostPosted: Mon May 04, 2009 9:59 am    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with 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: On Sun, May 3, 2009 at 11:01 PM, seven <dujinfang@gmail.com (dujinfang@gmail.com)> wrote: 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. 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 {} 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 Freeswitch-users@lists.freeswitch.org (Freeswitch-users@lists.freeswitch.org) Freeswitch-users@lists.freeswitch.org (Freeswitch-users@lists.freeswitch.org) Freeswitch-users@lists.freeswitch.org (Freeswitch-users@lists.freeswitch.org) 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: sip:888@conference.freeswitch.org ([email]sip%3A888@conference.freeswitch.org[/email]) 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





PostPosted: Mon May 04, 2009 10:07 am    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with quote

On May 4, 2009, at 9:25 PM, Anthony Minessale wrote:
Quote:
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.

Thank you. I'm more clear about the logic. I read some code, but need
to read more to totally understand it.

Here are two problems:
1) Is it possible to present the original caller id of the customer to
the agent?
2) If the agent already on a call(busy), it would still call the
extension and sim UAs generally allows multiple calls comes in. Is
there a way to limit an agent can answer only one call?(mod_limit
seems only limit outbound calls) Or do we need other complicated logic
the figure out is the callee is busy before call them(possible by
query the core db)?

Quote:

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 {}


So it is supposed to hang up the caller when call_timeout timeout? I
see it's deprecated on wiki:

Deprecated - Use originate_timeout or leg_timeout.
Controls how long (in seconds) to ring the B leg of a call when using
the bridge application.


But what i'm actually confusing is "<member timeout=x ..." in
fifo.conf. It seems should worked as leg_timeout, but not(on my box
using a very recent trunk version).

Thanks again.

_______________________________________________
Freeswitch-users mailing list
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





PostPosted: Mon May 04, 2009 10:51 pm    Post subject: [Freeswitch-users] any way ring fifo members one by one? Reply with quote

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.





Actually it generates N(=member count) outbound calls as the waiting > 0 before the customer be serviced(answered) by the agent in the on-hook mode. I might can make a patch but not sure if that affect the off-hook agents.


2009-05-05 11:42:44 [INFO] mod_fifo.c:574 node_thread_run() sales_fifo@192.168.1.27 (sales_fifo@192.168.1.27) waiting 1 consumer_total 0 idle_consumers 0
2009-05-05 11:42:45 [INFO] mod_fifo.c:574 node_thread_run() sales_fifo@192.168.1.27 (sales_fifo@192.168.1.27) waiting 1 consumer_total 0 idle_consumers 0
Back to top
Display posts from previous:   
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> freeSWITCH Users All times are GMT - 5 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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

VoiceMeUp - Corporate & Wholesale VoIP Services