Buh-bye, Freelicia

It actually does utilize a database, but it’s built into Asterisk. By not utilizing an external database, such as MySQL, Maria, Mongo, etc…Asterisk will never be a true multi-tenant product. At least with FusionPBX, FSPBX, or NetSapiens…they do use a separate database system, therefore it can offer true multi-tenant capabilities offering features such as tenant backup/export to import into a different server if needed to migrate. This way, you don’t have to migrate the whole server if needed, nor will you have to recreate that one tenant to migrate to their own dedicated system for on-premise or to a different server (if necessary). I have had this issue come up a few times with different customers on our current VitalPBX multi-tenant platform and what will have to be done is you will need to spend multiple hours recreating their system and migrating all their recordings and voicemails manually. At least with the Freeswitch based platforms, you can actually handle this simply by backing up that one tenant and restoring it to a new one. There’s obviously a little more to that process, but that’s the simplified version.

1 Like

The AstDB (the sqlite3 database) used by Asterisk is used for very minimal things in a pure Asterisk install. Outside of holding the UUID of the system, it only really stores dynamic information such as registrations, subscriptions and some CustomDevice states but those have to be created by you to begin with.

This is just not true. The use of external databases is not a requirement for multi-tenancy on Asterisk. It can make it easier in some fashion but not a requirement.

You keep referring to FS PBX, VitalPBX and all these systems that use underlying engines like Asterisk or FreeSwitch. How those systems handles things like backups, restoring backups or how they manage the data of the systems is their own logic.

I run a multi-tenant platform on Asterisk and yes, there is an external database but that was my choice. While I have no need to, I could easily not only backup a single tenant but I can backup just that tenant’s data in the AstDB and create a new sqlite3 database with only their details.

So what you have highlighted are all things that can be done with Asterisk, without need to redesign any database, but it falls on the the developers of the systems (VitalPBX, FreePBX, etc) to make it happen because at the end of the day Asterisk is just a toolkit. You still need to actually build what you want to use there’s nothing “out of the box” ready.

The point is that pretty much every open source VOIP system is having growing pains with Debian-13. Just as you can make FreePBX work on Debian-13 by backporting to PHP 8.2, it sill is not supported by Sangoma. The FS PBX guys worked out the problems and make themselves available with support and very rapid fixes (usually the same day) if an issue is uncovered. It takes Sangoma fairly long to fix module issues and their quality assurance has become horrific.

2 Likes

The point I was making is that in order for FS PBX, or FusionPBX for that matter, to work on Debian 13 they had to make fixes to the FreeSwitch installer because FreeSwitch, their underlying engine, hasn’t fixed or updated FreeSwitch to install properly on Debian 13 (in this case). So when referring to the stagnation of development it was about FreeSwitch’s stagnation of development on their OSS version. It doesn’t matter how active FS PBX is or how many OS systems FS PBX can be installed on. If FreeSwitch doesn’t keep up those projects either have to make their own fixes like they did with Debian 13 or hope FreeSwitch does if those fixes are out of their scope. If FreeSwitch makes no updates or improvements going forward it puts a ceiling on what projects like FS PBX and FusionPBX can do.

Conversely, you have Asterisk which is active in development. Can be installed on new OS releases like Debian 13 but on the front end FreePBX is lagging behind. The project hasn’t barely implemented or modified itself for the numerous updates and feature adds Asterisk has been releasing.

I think the FS PBX project is doing a bang up job it just sucks for them that FreeSwitch has become stagnant and which will result in limitations on the project in regards to the telephony side.

1 Like

That sounds great then. I was only repeating what the VitalPBX developers have told me multiple times. So, if you can build a true multi-tenant asterisk based platform, then my question would be, why doesn’t all of these Asterisk PBX manufacturers not provide a multi-tenant solution? VitalPBX does. But even they told me that they would have to rewrite the whole platform to be able to accommodate the ability to perform a backup/export of a single tenant instead of the whole system. With the information you just provided, it contradicts what they’ve told us multiple times and you’re saying it can be done with the database being used? If this is truly the case, I would love to stick with Asterisk since that’s what I’ve known and used.

I don’t disagree with anything you’ve stated. I know moving forward, Debian 13 will be the natural next step. But, Debian 12 will still be supported for quite a while.

Yes…I agree with you on everything you stated here. I saw some previous discussion about Freeswitch, and it was probably your or @kenn10, but is the development stagnation with just the Community distro or also the Freeswitch Advanced (I think that what they called the commercial version)?

My information doesn’t contradict what VitalPBX has told you. I said the logic around VitalPBX was created by VitalPBX. If it will take VitalPBX a major overhaul to export one tenant, then that is due to how VitalPBX was put together. As for the AstDB, it’s just an sqlite3 database. Just like MySQL, MariaDB, etc it has all sorts of nifty commands you can run to query the data, export the data, create new databases, etc. etc.

Because they aren’t in the space of resellers in that sense? I mean VitalPBX has four options and only one them is multi-tenant and marketed towards resellers/providers. They generally aren’t marketing the multi-tenant to an office account.

Thank you for the clarification. It would seem that they would create more distros of a multi-tenant platform with the popularity of Cloud-Hosted UCaaS increasing more every day.

according to the asterisk folks, you can’t, so I’d love for Tom to throw a few reference links to backup his claims.

1 Like

Where do the Asterisk folks say this? Which Asterisk folks are saying this? Because according the actual developers of Asterisk they already do multi-tenant Asterisk roll outs. VitalPBX is 100% Asterisk based and they have a multi-tenant solution.

Asterisk is a toolkit, it’s a blank slate when you install it. How you configure it, setup it, etc. is on you. It doesn’t come “out of the box” ready to be a single tenant or a multi-tenant platform. It doesn’t come “out of the box” ready to be a PBX, you have to configure it as such.

I run Asterisk in a multi-tenant setup. I ran it as a multi-tenant setup back in the 1.4/1.8 days.

FreePBX is NOT a multi-tenant solution. And their cloud-based solution may be called a “Multi-Tenant” solution, but in reality, it’s not. They basically provide a VPS for each of your clients and then provide a Management GUI that is capable of managing all the VPSes from a Single Pain of Glass. Unless you can provide a legitimate link to Sangoma or FreePBX providing a multi-tenant solution, I’d love to see it. But this is what I have researched and was told, not only by VitalPBX (which is who we currently use), but also FreePBX as well. So, please enlighten us with links to your claims. Not trying to be controversial here, just wanting to learn more about Asterisk’s capabilities other than what we already know. At this point, my guess is that you will need to have a developer custom build you a solution to do so as there are few that offer a “Multi-Tenant” Asterisk solution. And the reason I was told is that the database that Asterisk uses, or is built on, is not capable of separating the data of all the tenants, and is all stored in a single database. I have been told by many developers that Asterisk needs to be built on a full database such as MySQL or MariaDB to be able to manage multiple tenant databases within a single database solution. Now I’m not a developer or software programmer, so please don’t shoot the messenger. I have spent over 35 years in the Telco space, so I do understand how to program PBX system and a few legacy telco switches such as, Lucent 5e, Nortel DMS 100, 200, & 500, Alcatel, Fujitsu, etc… And the only other Class 5 soft switch I was involved in was Taqua Systems (which was built on Windows NT before Asterisk and Freeswitch was created. If I don’t know something, I will admit it, but will also ask questions to learn and understand it. I’m not here to join in the cliques most forums have to redicule anyone that doesn’t know or understand these platforms. I am here to help contribute, help others, and learn and understand from others as well. I appreciate you guys and look forward to being a part of this.

No one ever said FreePBX was a multi-tenant solution. I said Asterisk can be used for a mutli-tenant solution.

The only links I could offer docs.asterisk.org and their GitHub pages. There’s no official Asterisk documentation for this kind of stuff. Outside of some quick examples, there’s no real documentation on how to create a PBX solution with Asterisk. As in, no step by step process to follow. Since any deployment of Asterisk is based on the deployer.

Again, there are flat-file databases and sqlite is a database. Nothing ever says you need to use MySQL or MariaDB for any of this. Those are developer choices.

I use a couple MySQL databases for the backend and those aren’t even on the same systems as the Asterisk servers (I have two, primary and backup) so they need a single source of truth. One database stores the CDRs, CEL and Queue logs. One database has all the various tenant config details.

In the AstDB all the tenants are stored under their own family, each tenant has their own dialplan conf file (my choice) and everything is handled under their own individual branded contexts (i.e. <tenantname>-from-switch or <tenantname>-ringgroups). I also have global dialplan that all tenants use for common functions and apps.

Each tenant has their own “trunk” and all their endpoint configs have custom variables set when being used. There are numerous variables set during any call. Oh and things like voicemail, recordings, MoH, and call recordings are all stored in individual tenant space on the system.

Oh and this all started with using FreePBX as the underlying layer for it. But as things progressed it became clear how much FreePBX would need to be overhauled to truly integrate it and since I also had a lot of custom additions just for my platform I just went on my own path with it.

1 Like

So you developed your own multi-tenant platform with Asterisk? I.E…your own management UI frontend, DB setup, etc…? If so, what did you decide to use for your Frontend UI system?

Yes, that is what I have said previously.

My own design to fit what we do.