Hi. I’ve been thinking about doing my own FreePBX hosting business. If so, in case, I have just ordered the server, I’m using Proxmox and setup the FreePBX VMs for each client. What would be your input, any advice?
First question is: What are you trying to achieve? Serve one tenant with each FreePBX instance? Doable but I would go for a multitenant solution outright. Too much hassle managing multiple VMs. But if you insist, throw DSIProuter in front of them
Edit: Scratch that. I see you mentioned FreePBX hosting business. I thought it was like an ITSP providing PBX services to businesses
If I do my own FreePBX hosting business, for each client, it’s for each ‘customer’ not just only businesses. So I’m setting up a server to put Proxmox and FreePBX VMs for each client, or is it recommend that I do something else such as installing Kamailio or DSIProuter or what. What I’m trying to achieve is setup a FreePBX for each customer.
No, you do not neee to use dSIPRouter or Kamailio if you are just providing FreePBX VM hosting. My initial understanding was that you were providing phone/PBX services to businesses
I have some input but you aren’t going to like it at all.
Building the server, and installing FreePBX is the easy part. That’s the part that is almost 0 value add to the customer because of that.
Providing support for FreePBX itself is a slight bit more moderately difficult so it has a small amount of value add to the customer.
The hard part is providing support for the phones, aka endpoints. You have really 3 options here:
-
Don’t provide support at all for the endpoints. In which case, you won’t get any customers or interest
-
Become familiar with only 1 make/model of endpoint, learn all it’s peculiarities and how to make it work properly when it’s behind a network address translator at the customer and your server is on a public IP address. That is a slight bit more value add to the customer but still not a lot because it’s hugely expensive to greenfield a PBX if your going to replace all instruments. And, getting a customer to buy in to a 100% softphone only setup is usually a very hard sell - unless the customer is dumb as a box of rocks.
To give you an example of that - last night at 10pm I got notification one of my endpoints in one of my buildings in my enterprise made a 911 call. That was a call from a desk phone not a softphone on a PC. Do you know why? Because when someone’s got a few minutes to live and is dying in front of you, you don’t set down at your PC and login and then fire up the softphone app. Nor do you pull out your cell phone and risk getting disconnected. You grab the nearest handset and dial 911, that’s what you do.
- Become familiar with the plethora of telephones out there. That is the highest amount of value add because now you can become one of those rare highly-sought-after gurus that can walk into a site, then spend a weekend reflashing firmware, reconfiguring phone configs, for every instrument in the site and then in one fell swoop kick the existing PBX out of place and substitute your own.
This is why I keep kicking the butts of people on this forum who are continually dissing Cisco phones. I don’t give a crap you don’t like Cisco phones or that they are a royal PIA to provision - you better damn well learn how to do it if you want to be able to walk into a site with a couple hundred Cisco phones on UCM that’s costing the enterprise $5k a month to -rent- from Cisco and kick the UCM out and replace it with FreePBX that costs $0 a month to rent.
Unfortunately, while #3 is the most valuable to customers and thus you will get the most money for being able to do it - it’s the hardest thing with the most work involved.
But, doing just #1? Pshaw. Your just trying to go head to head with AWS and your gonna lose because they have the economies of scale to fly so far under you in price that you won’t even see ‘em.
It’s not the hard part at all. In this business model, aka like Cyberlynk, they would be providing the VM with FreePBX preinstalled and giving the user full access (i.e. SSH root access). They also throw in some commercial modules for free. So troubleshooting individual phones will be the responsibility of the customer using the system.
The bigger concern will be how will these individual FreePBX systems get their IP addresses? Will each one have their own dedicated IP? How will this be happening within the proxmox setup?
My concerns would be is the system running the Proxmox going to be suitable? The average VM should have at least 2GB RAM, 1 vCPU and 25GB (or more) of storage. So the Proxmox host server needs to have a lot of resources on it. I’m estimating around dual 16 core CPU, no less than 256GB RAM and 4TB SSD for the host and if every customer takes the low end server that will support about 100 VM instances.
Where is this being hosted? In a real data center? With a cloud company? A closet in the house?
How will the IP addressing be handled? Is the adequate IP space that is going to be available for use?
I’d lose the proxmox and just set up a $6 cloud vm per customer. Launch from a template.
There are also non-Asterisk/FreePBX options out there such as FS PBX and FusionPBX which are based on FreeSwitch. Those systems allow you to have separate domains for each tenant all on one system. Instead of separate VM’s for each domain, they are separate partitions of the same switch. So far, Asterisk does not support true multi-tenant capability.
As I said in my post, that is Option #1, which has almost 0 value add to the customer. 0 means $0.
That’s basically exactly the model that a bunch of guys running VM’s on AWS are using - and they are all going to be able to do it cheaper, with no problem with obtaining IP address, as the OP.
I don’t think the OP is looking at this as a viable business at all. I think it’s more along the lines of “I’m having fun tinkering with this VM stuff and FreePBX stuff so let’s see if I can get some people to pay for my hobby for me or maybe pay for part of my hobby”
As I’ve repeatedly told my kids growing up, nobody pays you for doing something they can do. They pay you for something they either CAN’T do or don’t want to do. So when you are setting up a business - you look at offering products that either require a ton of experience and knowledge - like, for example, getting phones working through a translator - which are hard so most people won’t want to spend the time learning and will pay someone to do - that’s you - or are nasty things like cleaning out honeybuckets, or working on an oil rig, which of course, nobody WANTS to do and will happily pay someone else - that’s you- to do.
The Cyberlynk model your outlining is along the lines of we will do the easy part you will do the hard part. That only works if Cyberlynk is selling virtual PBXes for pennies a month. I haven’t looked at them so I don’t know what their pricing is - but unless it is dirt-cheap, they are vulnerable. Just like this OP is.
Look at it this way. I’m a customer that knows nothing about telephony. I can’t just go buy a virtual PBX somewhere and be done with it I have to pay someone to setup the endpoints, too. Well, setting up the endpoints is the hard part - so - any company out there that can do that - can EASILY do the gravy part - the virtual PBX. So their quote to me is going to be $99 an extension for phone setup and $1 an extension for PBX setup since having a dude on site actually unboxing phones and testing them and whatever else is what sucks the time up and costs the money - and then having a dude that can deal with whatever s-for-brains router that I bought from my ISP that’s even more money.
This OP has the idea he can just do the PBX part - like this Cyperlynx thing you outlined - skim off the gravy and leave the hard part for the local consultant that the customer hires. In other words he thinks the local consultants who actually touch the phone gear are stupid and can’t do the easy part - installing the PBX. Except that the local consultants aren’t - and they aren’t going to let any local customer that retains them to setup phones, just go buy the gravy/easy part from anyone else.
All of this is Business 101 fundamentals. That’s where this idea has a problem.
So then if one of the tenants does something that takes the entire PBX down all of the tenants are scotched. That’s exactly what happened with AWS a week ago, MS Azure a few weeks ago, etc.
It’s being hosted in at a room. I’m using VPN for each customer. The server is Dell Poweredge R730xd 2x 16gb ram and 2x 480gb SSD
I could, but the they are not free unlimited, it’s per hour or minute.
Reason being is I can’t afford what you’re recommending right now. Once I get the money, I’ll consider it
Reason being is I can’t afford what you’re recommending right now. Once I get the money, I’ll consider it.
So at this point you have enough to host maybe a dozen low end systems.
You have actual customers on this already? Is this something sitting behind NAT?
Not yet. I believe it is in NAT
Asterisk provides tools to help make it possible, e.g., Tenant ID, a Flexible Asterisk Tool.
I would not start this business hosting by yourself on your own server unless you have:
Redundant EVERYTHING:
Location
Server
Power
Internet
How will you handle the server being down and losing ALL your clients phone systems at once? Have you thought about ALL the disaster recovery issues with the way you are setting things up?
How are you backing up the PBXs and how often?
How will you monitor the PBX’s to get alerted when things go sideways? Are you just going to wait for your clients to complain and be reactive?
You’re much better off using hosted VM’s like Vultr or Digital Ocean etc. Built in redundacy.
Secondly, be VERY good at troubleshooting the clients network and firewalls, both logical and physical.
Any client small enough to need what you’re selling will likely not have any inhouse IT staff to deal with the network issues that a lot of small businesses have that will wreck havoc with VoIP/SIP phones and they’ll blame you because “My email and web work just fine so my network and internet are fine. Your phones are the problem…”
Be very versed in the FCC rules for 911, KYC, robocalling, 10DLC etc… (assuming you’re in the US).
There’s a lot more to it than just spining up a few VM’s and collecting the money.
I have location, server, power, and internet. I have just looked the pricings, so I may end up consider using hosted VM’s like Digital Ocean. If that’s the case for using hosted VM’s, what plan should I use for small-medium businesses (schools, etc.) or individuals for server specifications?
Asterisk does have domain and multi tenant support.
If you master the dialplan and context segregation then it is everything you are looking for in a multi tenant system.