Sponsor: VoiceMeUp - Corporate & Wholesale VoIP Services

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

[Freeswitch-users] FreeSwitch AMQP Question


 
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> freeSWITCH Users
View previous topic :: View next topic  
Author Message
govoiper at gmail.com
Guest





PostPosted: Thu Mar 03, 2016 1:54 pm    Post subject: [Freeswitch-users] FreeSwitch AMQP Question Reply with quote

Hi All,

I am experimenting with mod_amqp , I've a RabbitMQ server deployed. What I'm trying to find out is if N number of FreeSwitch Servers are connected to the same virtualhost to send and receive events and all FreeSwitch servers are connected to same backend Database. In that particular situation if one server sends an Update status of a SIP endpoint to the MessageBus and rest of the FS receives them, will they also consider that SIP endpoint as Busy/On-Call ?


Another example could be change in call_centre agent state change. If one FS sends an event stating the agent is busy, will rest of the FS servers honour this and not assign calls to the agent until a free event is received !!


Thanks,
Sammy
Back to top
william.king at quentu...
Guest





PostPosted: Wed Mar 09, 2016 4:14 pm    Post subject: [Freeswitch-users] FreeSwitch AMQP Question Reply with quote

Sammy,

Great question. mod_amqp has several different profile types: producer,
commands, logging, and consumer(not yet implemented). The producer
profile type only sends FS events to an amqp exchange(though you can
configure multiple profiles with different event bindings and
destination exchanges).

To achieve what you're talking about would require mod_amqp profiles to
subscribe and consume events from an amqp exchange, and then
process/fire those events locally.

Now the second way to handle what you're describing would be to have the
different FS servers configured so that the modules use the same DB
info, so that they're all looking at the same DB state. This would not
require amqp to consume and process the events.

William King
Senior Engineer
Quentus Technologies, INC
1037 NE 65th St Suite 273
Seattle, WA 98115
Main: (877) 211-9337
Office: (206) 388-4772
Cell: (253) 686-5518
william.king@quentustech.com

On 3/3/16 10:52 AM, SamyGo wrote:
Quote:
Hi All,

I am experimenting with mod_amqp , I've a RabbitMQ server deployed. What
I'm trying to find out is if N number of FreeSwitch Servers are
connected to the same virtualhost to send and receive events and all
FreeSwitch servers are connected to same backend Database. In that
particular situation if one server sends an Update status of a SIP
endpoint to the MessageBus and rest of the FS receives them, will they
also consider that SIP endpoint as Busy/On-Call ?

Another example could be change in call_centre agent state change. If
one FS sends an event stating the agent is busy, will rest of the FS
servers honour this and not assign calls to the agent until a free event
is received !!

Thanks,
Sammy



_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

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


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

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
govoiper at gmail.com
Guest





PostPosted: Thu Mar 10, 2016 1:20 pm    Post subject: [Freeswitch-users] FreeSwitch AMQP Question Reply with quote

Thanks William for taking out time to send a detailed reply. I am exploring a scaleable callcentre solution and came across AMQP as an excellent alternative to the external application managing the call flow.
I looked further inside the mod_callcentre.c and yeah I see that events are just sent only which means that sharing events is not enough and we might additionally need to send commands so the FS servers can actually do some action.  

Regarding ODBC:
I have question about Shared ODBC between mod_callcenter, I do see that this module do alot of SQL queries to work, but is that shared ODBC enough to make all FS servers act as one big callcenter ? Last time I read people still had problems with this. I also see "single_box" value hard coded in System-type field and I do see "multi_box" related discussions stating that this is a future goal. The Problem I've heard so far is that when an agent state is changed in one FS rest of the FS servers might not be aware of the changed DB value(as they might've pulled older status) This may be very visible in large call volume. I maybe wrong but this is what I've understood so far.

I also think that if I modify the mod_callcenter.c file such that instead of making DB connections if it could all be shifted to a memcache mechanism then it may perform a little bit better.  
Regarding AMQP:

I took help from this page: https://quentustech.com/rabbitmq-support-in-freeswitch.html and this is what I did:
1 - Started RabbitMQ Server
2 - Configured two FS servers with mod_amqp pointing to server in 1.
3 - Use the perl scripts mentioned on the above page to listen to events.  The amqp_command.pl script lets me send a command to ALL of the FS Server.

It was clear to me that a RabbitMQ based approach lets me read on events and also lets me send commands to servers without doing a huge programming effort.
Next step to do would be to configure each FS server to bind to its unique virtualhost for commands (or use unique binding_key).
Then listen to calls+callcenter events from ALL the FS Servers, and based on whatever logic send commands to FS servers such that if an EVENT occurs stating an agent is taking call, send command to rest of the FS servers to mark that agent as "Busy".
Let me know your thoughts on this. 
Best Regards.
Sammy

On Mar 9, 2016 16:13, "William King" <william.king@quentustech.com (william.king@quentustech.com)> wrote:
Quote:
Sammy,

Great question. mod_amqp has several different profile types: producer,
commands, logging, and consumer(not yet implemented). The producer
profile type only sends FS events to an amqp exchange(though you can
configure multiple profiles with different event bindings and
destination exchanges).

To achieve what you're talking about would require mod_amqp profiles to
subscribe and consume events from an amqp exchange, and then
process/fire those events locally.

Now the second way to handle what you're describing would be to have the
different FS servers configured so that the modules use the same DB
info, so that they're all looking at the same DB state. This would not
require amqp to consume and process the events.

William King
Senior Engineer
Quentus Technologies, INC
1037 NE 65th St Suite 273
Seattle, WA 98115
Main:   (877) 211-9337
Office: (206) 388-4772
Cell:   (253) 686-5518
william.king@quentustech.com (william.king@quentustech.com)

On 3/3/16 10:52 AM, SamyGo wrote:
Quote:
Hi All,

I am experimenting with mod_amqp , I've a RabbitMQ server deployed. What
I'm trying to find out is if N number of FreeSwitch Servers are
connected to the same virtualhost to send and receive events and all
FreeSwitch servers are connected to same backend Database. In that
particular situation if one server sends an Update status of a SIP
endpoint to the MessageBus and rest of the FS receives them, will they
also consider that SIP endpoint as Busy/On-Call ?

Another example could be change in call_centre agent state change. If
one FS sends an event stating the agent is busy, will rest of the FS
servers honour this and not assign calls to the agent until a free event
is received !!

Thanks,
Sammy



_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org (consulting@freeswitch.org)
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

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


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org (consulting@freeswitch.org)
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

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
Display posts from previous:   
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> freeSWITCH Users All times are GMT - 5 Hours
Page 1 of 1

 
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