Hello!
I been searching high and low on the internet for information about the server requirements and specifications on installing Asterix (Free PBX) on a cloud hosted VPS server?
I have found loads of information about hardware requirements for real physical servers, but there is extremely little information provided about VPS servers and what is needed in terms of number of cores, memory, disk space etc.So I hope I could have this conundrum solved.
We are also planning to record all conversions as part of compliance requirements of our business so how much disk space does and general phone call conversation take up in space? How much space is needed in theory? Lets say a call is in general between 10-15 minutes, maybe 25 minutes in some cases.
Thanks a bunch in advance for the help.
Kind regards
AngryWarrior.
So if I setup a VPS server with 3 cores, 6 GB memory and 70 GB Disk space how many phone lines/employees/ calls inbound/outbound would it be able to a handle smoothly do you think?
Small (1-15 Extensions) 1 Core, 2GB RAM and 25GB SSD
Medium (1-30 Extensions) 1 Core, 4GB RAM and 75GB SSD
Large (1-75 Extensions)2 Cores, 6GB RAM and 150GB SSD
Extra Large (1-200 Extensions) 2 Cores, 8GB RAM and 250GB SSD
The number of concurrent calls will depend on the codec, how many of those calls are being recorded etc.
Depends on the recording format. Assuming most calls are g711a/u, uncompressed wav (.wav) is about 1MB/minute, wav49 (.WAV) or gsm will be about 100K per minute.
Hard to qualify as VPS providers can vary greatly. If the provider offers an easy path to upscale in place start small and increase as needed.
I hate over-provisioning, no need to pay for what you donât need. I set up FreePBX inside a fat container, so moving to another host is at most a simple rsync and dns update.
Thanks a lot both of you @jerrm and @rsmithuk.
That is indeed really helpful information and very appreciated.
Well I need to record everything - every single call both for compliance reasons and because our customers should be able to listen to agent calls for quality purposes.
Is there by the way some module available already that would allow customers to login and listen to calls -OR- is it something I need to have custom developed?
Whatâs the expected concurrent load? Some testing I did years ago suggested saving uncompressed recordings was less CPU intensive. Iâd be curious if that really holds up.
Fact or fiction, that has been my operating assumption. I record in uncompressed wav and then have an after hours cron job to convert to wav49. Could just as easily convert to mp3 or other higher compression format.
will show the âcostâ of translation, so saving as the default âwavâ (adpcm) is pretty cheap on CPU, translating later to mp3, ogg or wav49 are the âcheaperâ when it comes to storage.
As to dimensioning, best thing is to run a 1G $5 cloud instance up the pole, and âtopâ it under load,
Hmm well it would be interesting if you could login to active call to listen of course. But I think I was more thinking in terms of you have customer XYZ that you give a user/password so they could login just to listen to the recordings of a agent that is working on their project (weâre are sales and marketing lead generation agency). So that is the main goal. But from a staff education perspective (but also quality reassurance) it could of course be interesting to be able to login and listen to active live calls and allowing the customers to do that too? But that is of course not my primary main goal or intent which was just to record the calls, you kinda give me this additional idea which isnât a bad one at all.
Well weâre young company, but weâre expecting to expand fast and employ loads of agents/sales people. Right now not so many just few few, but as things progress we could easily end up with 30 agents or more.
So if I understand what youâre saying is that is to record in .waw. and then later have the server automatically convert those file to .mp3?
Doesnât that put additionally unnecessary load of the server cpu etc having it doing the extra work of converting also?
Absolutely , but generally the server is under less load at 2am , cron is your friend here. rsyncing the monitor files off-site and deleting local files after a certain mtime is also space saving and a good âbelt and bracesâ policy.
Although the FreePBX interface doesnât support the kind of filtering by agent/DID/whatever, you can easily run a post monitoring scripts that could symbolically re-link the files more rationally for your use case into a directory structure that reflects such âuse caseâ then add a custom front end to allow logging in and browsing âallowed/filteredâ files. (The symbolic links add minimal load to your server.)
Depending on your deployment, consider adding a swapfile to $5 DO or Vultr , if you are rsyncing lots of stuff, it has helped me reduce OOM events at 2.00am