conn Posted April 5, 2018 Report Posted April 5, 2018 Say I am going to use erlang call manager / kazoo, kamailio, freeswitch, AMQP via RabbitMQ, and bigcouch. What would be the role all of all if them if the only focus was on making the best conference service that can be connected to via clients like IRC? Quote
Administrators mc_ Posted April 5, 2018 Administrators Report Posted April 5, 2018 Conferencing will be impacted most by the hardware you give FreeSWITCH. Run bare metal and with plenty of CPU/memory since conferences does a lot of audio muxing and transcoding. Everything else is pretty lightweight in comparison. Of course, you'll need to load test to be sure your setup is adequate. Testing max participants in a conference and max concurrent conferences to see where things go funky. Will you allow video conferencing? Quote
conn Posted April 6, 2018 Author Report Posted April 6, 2018 (edited) 21 hours ago, mc_ said: Conferencing will be impacted most by the hardware you give FreeSWITCH. Run bare metal and with plenty of CPU/memory since conferences does a lot of audio muxing and transcoding. Everything else is pretty lightweight in comparison. Of course, you'll need to load test to be sure your setup is adequate. Testing max participants in a conference and max concurrent conferences to see where things go funky. Will you allow video conferencing? No, I want to focus solely on voice conferencing. I was thinking of using a cloud service such as digitalocean and then perhaps moving to using a cluster of raspberry PIs. However, since it would seem that freeSWITCH requires a lot of memory and cpu power, I may have to think of something else. I was also thinking of using something like packer along with some automation to help out once I found the optimal setup. Though, I am sure I cannot get much advise on that here. Edited April 6, 2018 by conn (see edit history) Quote
Administrators mc_ Posted April 6, 2018 Administrators Report Posted April 6, 2018 We ran the hosted platform on small Rackspace VMs for two years at the beginning. You can certainly start small and scale up as you go. If you plan on supporting smallish conferences only, then having lots of Pis or whatever to spread them out is fine. If you plan to support large conferences (for some value of large), beefier hardware will be needed. You need to define the load levels you wish to support and build the architecture to support those levels. Quote
conn Posted April 6, 2018 Author Report Posted April 6, 2018 2 hours ago, mc_ said: You need to define the load levels you wish to support and build the architecture to support those levels. Yeah, I will need to do that. However, isn't there a way to make an architecture that is flexible? I am kind of thinking about this from a programming prospective where, while a function should be responsible for one thing, a class could be more flexible in doing that one thing especially if you want to inherit from that class later on or compose various classes together. I am just wondering what that architecture would look like applied to this situation. Quote
Administrators mc_ Posted April 6, 2018 Administrators Report Posted April 6, 2018 Well yes, Kazoo is flexible. If you have 0 customers, it doesn't make sense to get the beefiest hardware before you prove that you can sell your service. So start with what's easy for you to provision and get working. So maybe that's a couple VPS servers. Then you get enough traffic that your FreeSWITCH servers are having trouble keeping up. Now you can replace the VPS running FreeSWITCH with bare metal instances on the provider. Or you can build out a datacenter rack with your stuff, get better circuits, co-locate with your upstream carriers, whatever. So the architecture definitely grows with you as you grow the business. Quote
conn Posted April 7, 2018 Author Report Posted April 7, 2018 1 hour ago, mc_ said: Well yes, Kazoo is flexible. If you have 0 customers, it doesn't make sense to get the beefiest hardware before you prove that you can sell your service. So start with what's easy for you to provision and get working. So maybe that's a couple VPS servers. Then you get enough traffic that your FreeSWITCH servers are having trouble keeping up. Now you can replace the VPS running FreeSWITCH with bare metal instances on the provider. Or you can build out a datacenter rack with your stuff, get better circuits, co-locate with your upstream carriers, whatever. So the architecture definitely grows with you as you grow the business. I see. interesting Quote
conn Posted April 10, 2018 Author Report Posted April 10, 2018 So, would either of these two help me get started, in a general way as a guide, on what I am looking to do above: https://www.powerpbx.org/content/kazoo-v3-single-or-multiple-server-voip-telephony-platform-install-guide-v1#all https://www.powerpbx.org/content/kazoo-v4-single-server-install-guide-v1 Quote
Administrators mc_ Posted April 10, 2018 Administrators Report Posted April 10, 2018 I would point you to the "official" docs: https://docs.2600hz.com/sysadmin/doc/install/install_via_centos7/ https://docs.2600hz.com/sysadmin/doc/kazoo/cluster-guide/ But they should get you on the right path, yes Quote
conn Posted April 11, 2018 Author Report Posted April 11, 2018 3 hours ago, mc_ said: I would point you to the "official" docs: https://docs.2600hz.com/sysadmin/doc/install/install_via_centos7/ https://docs.2600hz.com/sysadmin/doc/kazoo/cluster-guide/ But they should get you on the right path, yes Interesting. I will use the official ones instead then. Quote
conn Posted April 26, 2018 Author Report Posted April 26, 2018 So, I actually finally am going start going through those official docs and go along with them by hand -instead of just looking at them. Here is my question. I have a mini SDHC card 32 GB. Should I use that and just use Packer once I get it to what I like? Or should I use Docker? Quote
Administrators mc_ Posted April 26, 2018 Administrators Report Posted April 26, 2018 Well, I would say don't use anything until you have a firm handle on installing/managing Kazoo itself. You don't want weird Docker networking or other unrelated issues clouding your mind while learning about Kazoo. Then you can check out orchestration tooling and containers and the like, so you at least know if an issue is Kazoo-related or otherwise. Quote
conn Posted April 27, 2018 Author Report Posted April 27, 2018 Hmm ... thanks for the advice. I understand completely what you are saying :-) Quote
conn Posted May 7, 2018 Author Report Posted May 7, 2018 So, I finished going through the kazoo-kamailio setup in the official docks and ran: kazoo-kamailio status and I got: error: 500 - No Destination Sets Is that an acceptable response to where I am at in the setup at this moment -i.e, it will change once I finish entire setup? or does it indicate that I did something wrong at this stage? Quote
Administrators mc_ Posted May 7, 2018 Administrators Report Posted May 7, 2018 If there are no FreeSWITCH servers yet, you are correct that the destination sets should be empty. When you setup FreeSWITCH and ecallmgr, there's a heartbeat that Kamailio will receive and auto-add FreeSWITCH to the proper destination set. Quote
conn Posted May 7, 2018 Author Report Posted May 7, 2018 49 minutes ago, mc_ said: If there are no FreeSWITCH servers yet, you are correct that the destination sets should be empty. When you setup FreeSWITCH and ecallmgr, there's a heartbeat that Kamailio will receive and auto-add FreeSWITCH to the proper destination set. Got it, thanks for the explanation. Quote
conn Posted May 7, 2018 Author Report Posted May 7, 2018 I am now on the HAProxy part. It does not really give much guidance on what to put into the file it wants me to edit. All it says is: # Edit /etc/kazoo/haproxy/haproxy.cfg to setup the backend server to point to BigCouch Now, after some googling, I found this: https://github.com/2600hz/kazoo-configs-haproxy/blob/master/haproxy/haproxy.cfg It looks like an official enough source, so that part should be covered. However, should I use what is in that file from the git repo linked above? Or should I use something else? Quote
tomas_ Posted May 8, 2018 Report Posted May 8, 2018 You should edit the DB servers in that file, after "balance roundrobin". Change to your CouchDB server info. Quote
conn Posted May 8, 2018 Author Report Posted May 8, 2018 6 hours ago, tomas_ said: You should edit the DB servers in that file, after "balance roundrobin". Change to your CouchDB server info. Okay. Thank you. Quote
conn Posted May 8, 2018 Author Report Posted May 8, 2018 6 hours ago, tomas_ said: You should edit the DB servers in that file, after "balance roundrobin". Change to your CouchDB server info. What does this all mean: server db1.zone1.mydomain.com 127.0.0.1:5984 check server db2.zone1.mydomain.com 127.0.0.2:5984 check server db3.zone2.mydomain.com 127.0.0.3:5984 check backup server db4.zone2.mydomain.com 127.0.0.4:5984 check backup Should I simply give the subdomain from the output of: kazoo-bigcouch status which is bigcouch@subdomain.example.net so just replace the first two with subdomain.example.net ? Quote
Administrators mc_ Posted May 8, 2018 Administrators Report Posted May 8, 2018 The server config shows you how to prefer querying database nodes in the same kazoo zone and using the other zone as a failover (hopefully minimizing WAN latency). Since couch is multi-master, even if the data isn't on a given node, the handling node knows how to retrieve it from its peers. Each db server will have its own hostname; any on the same LAN (typically) should be in the primary list and any that live across a WAN would include the 'backup' signifier. Quote
conn Posted May 9, 2018 Author Report Posted May 9, 2018 18 hours ago, mc_ said: The server config shows you how to prefer querying database nodes in the same kazoo zone and using the other zone as a failover (hopefully minimizing WAN latency). Since couch is multi-master, even if the data isn't on a given node, the handling node knows how to retrieve it from its peers. Each db server will have its own hostname; any on the same LAN (typically) should be in the primary list and any that live across a WAN would include the 'backup' signifier. I think I might be starting to understand. So, I am using a digitalocean droplet -Centos 7- for this project. To set up these zones to Bigcouch, would it be sufficient to just keep making subdomains for the two zones via the digitalocean admin? Quote
conn Posted May 11, 2018 Author Report Posted May 11, 2018 I am on the following in setting up kazoo applications: # Use SUP to communicate with the running VM sup -h I run the command, but I get the following error: /usr/sbin/sup: illegal option -- h Invalid command or wrong number of arguments, please try again What am I supposed to do here? how do I find this "running VM use SUP to communicate with? Quote
Administrators mc_ Posted May 11, 2018 Administrators Report Posted May 11, 2018 Try the long arg version 'sup --help' (although, sup -h worked for me so not sure). Quote
conn Posted May 14, 2018 Author Report Posted May 14, 2018 On 5/11/2018 at 11:40 AM, mc_ said: Try the long arg version 'sup --help' (although, sup -h worked for me so not sure). 'sup --help' gives me:= /usr/sbin/sup: illegal option -- - /usr/sbin/sup: illegal option -- h /usr/sbin/sup: illegal option -- e /usr/sbin/sup: illegal option -- l /usr/sbin/sup: illegal option -- p Invalid command or wrong number of arguments, please try again Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.