The awesome.re directory carries more than 600 curated lists. One of them covers real-time communications broadly, and it is a good list, but nothing on that directory is dedicated to Asterisk, and nothing to FreeSWITCH. So we built both and published them this month: Awesome Asterisk with 50 entries and Awesome FreeSWITCH with 57. Every repository was opened and read before it went on the list.
Why the gap was worth filling
If you have gone looking for FreeSWITCH tooling recently, you have probably landed on the rts-cn list. It has not been touched since 2022, and a good share of what it points at stopped moving years ago. That is worse than having no list, because you spend an afternoon evaluating something before you notice the last release predates the pandemic.
Asterisk is in better shape, but the good stuff is scattered across GitHub topics, old forum threads and a handful of blog posts. Nobody had pulled it into one place and then gone back to check it was all still alive.
So the promise of these two lists is small and specific. Nothing on them is dead. That is the whole pitch, and it is the only part that takes real work.
Four gates, and what they cost
Every candidate had to clear the same four checks, and quite a few well known names did not.

The twelve month rule was the expensive one. It cost us node-esl, which plenty of people still reach for on the FreeSWITCH side, and mod_bcg729. On the Asterisk side it took out Browser-Phone, which still has live issues but no commit since November 2024, and soup, dormant since 2022. The archived tiredofit/docker-freepbx went the same way.
We wrote the rejections down in the repository rather than quietly dropping them, so nobody has to repeat the check. If a project wakes up, it goes back on.
Source available is not open source
Gate three caught PearlPBX2, a Django front end for Asterisk that somebody suggested the day after the Asterisk list went up. Active, real, commits that week. It was on PolyForm Shield 1.0.0, which lets you read and run the code but not build something that competes with the author. That is a perfectly reasonable licence. It is not an open source one, so the entry did not go in.
We said so publicly and explained exactly which clause was the problem. The author relicensed to AGPL-3.0 and tagged a release the next day, and the project is on the list now. Telling somebody why they were left out turns out to be far more useful than leaving them out quietly.
Read the licence file, not the badge
The VoipMonitor sniffer is a good example of why the check has to be manual. GitHub reports no licence on that repository, because there is no LICENSE file in the root. The README states GPL-2.0 plainly. Anyone skimming the sidebar would drop it. It is listed, with that wrinkle written into the entry so you are not surprised later.
The reverse trap is just as common. A repository can carry an MIT badge from a template while the actual terms live in a COPYING file that says something else entirely.
What the lists cover

The sections follow the parts of a deployment you actually have to solve rather than package categories. Event Socket and ARI libraries, streaming call audio, the speech engines people put behind it, SIP proxies, RTP, monitoring, security, endpoints, billing. The FreeSWITCH list has a Platforms section for projects where FreeSWITCH is the engine under something larger, which is how a lot of people meet it without knowing.
Twelve of the 107 entries are ours, including the projects we maintain such as ICTCore, ICTFax and pbx-mcp. A Footnotes section at the bottom of each list names every one of them. They are held to the same bar as everything else and you can challenge any of them in an issue.
Readers found things faster than we did
Within three days of the Asterisk list going up, one reader pointed out that the asteriskdocs book site had stopped resolving. He was right, the domain does not answer at all now, which made it a dead link on a list whose entire pitch is that nothing dead went in. Entry pulled.
Another reader flagged AVA, an AI voice agent for Asterisk with 1.2k stars that we had somehow missed. That one says more about how we searched than about the project, and it was added the same day. A FreeSWITCH reader asked for FS PBX, the Laravel and Vue rebuild of the FusionPBX interface. Checked, Apache-2.0, actively committed, added.
That pattern is the point of publishing a list rather than keeping notes. Three people found four things in a week that we would not have found on our own.
What we would like back
Gaps, mainly. Anything outside the usual English language repositories, because that is where our search was weakest. Open an issue or a pull request on either list, one entry per pull request. If you think one of our own entries does not earn its place, say so and we will drop it.
Both lists are CC0, so you can copy them, fork them or lift entries straight out without asking, and both pass awesome-lint. If you are working on the voice AI side, our write-up on what six voice agent releases taught us about AudioSocket and barge-in covers a lot of what sits behind those entries, and the caller side benchmark measures the things the READMEs never mention.
Frequently asked questions
What makes a list awesome rather than just a bookmark folder?
The awesome.re guidelines set the bar: a real theme, a description on every entry, contribution guidelines, and a maintainer who prunes. The pruning is the part most lists skip, and it is the part that decides whether the list is worth anything in two years.
How do you decide when a project is dead?
No commit in the last twelve months, or an archived repository. It is a blunt rule and it does remove a few stable, finished libraries that simply need no changes. We accept that cost, because the alternative is judging case by case and quietly letting the list rot.
Why are your own projects on the list at all?
Because leaving them off would be its own kind of dishonesty, and because they meet the same test. What matters is that you can tell which ones they are, so each list has a Footnotes section naming all of them.
Can I submit a commercial or source available project?
Commercial is fine if the project itself is open source under an OSI approved licence. Source available licences such as PolyForm, BUSL or SSPL do not qualify, however good the software is. If you relicense, reopen the issue.
Will these be submitted to the main awesome directory?
That is the plan. The directory asks that a list be at least 30 days old first, so Awesome Asterisk becomes eligible in early October and Awesome FreeSWITCH a couple of weeks later. Waiting is not a hardship, since it gives both lists a month of real maintenance to point at.
Where do I report a broken link?
An issue on the relevant repository is the fastest route. Dead links are treated as bugs rather than suggestions, and they get fixed the same day where we can.
