Wrote an Asterisk GUI that automatically bills with FreeAgent

YAP (Yet Another PBX) is now v1.0.0
License AGPLv3

For a while I had wanted to write a telephone system that would also handle billing and interconnect with 3rd party accountancy software. After 10 months working on it on and off version 1.0.0 is ready.

All YAP source code, SQL and BASH code is human made with no AI used. If you like my work please star and fork the YAP GitHub repo at: GitHub - ellwould/yap: YAP (Yet Another PBX) - A GUI to administrate a multi-tenanted SIP Server, automatically creates invoices and connects to 3rd party accountancy software to send invoices. YAP is written in Go and uses the Asterisk framework. · GitHub

YAP is a multi-tenant phone system with 6 different account types to log in with, below are 3 live demo sites setup to view what a YAP admin, customer and PBX account type have access to:

Live (Read Only) demo website, logged in as a YAP Admin account: ⊛ YAP (Yet Another PBX) ⊛

Live (Read Only) demo website, logged in as a Customer account: ⊛ YAP (Yet Another PBX) ⊛

Live (Read Only) demo website, logged in as a PBX account: ⊛ YAP (Yet Another PBX) ⊛

YAP Features include:

  • No passwords stored in the database as oauth2-proxy is used for authentication

  • Use GitHub to loggin into YAP but can also be configured to use Gmail, GitLab etc

  • Can be connected to a third party accountancy software (FreeAgent®) to send invoices automatically via the FreeAgent® API

  • Invoices for Extension/PBX creation/rental/removal are automatically added

  • Can set different tax rates and prices per customer for Extension/PBX creation/rental/removal

  • YAP can be set to bill if your VAT registered or not VAT registered

  • Create/Update/View/Delete Customers

  • Create/Update/View/Delete PBX’s

  • Create/Update/View/Delete Extentsions (SIP Endpoints)

  • Create/Update/View/Delete user accounts

  • Create/View/Delete Invoices

  • Create/Update/View/Delete Tax Rates

  • Create/Update/View/Delete Suppliers

  • Create/Update/View/Delete Services

  • Create/Update/View/Delete Products

A range of software, programming and markup languages is used in the YAP project:

  • Nginx (Web proxy)
  • MariaDB (Database)
  • Asterisk (VoIP Server)
  • OAuth2 Proxy (Authentication)
  • ODBC (Database Connection)
  • Go (YAP)
  • BASH (Install Script)
  • HTML/CSS (YAP)
  • JavaScript (YAP)
  • Go (YAP)
  • SQL (Install Script/YAP)

Use of the word “accountancy”, gives me a fair clue why the UI is the way it is :blush:. I’m hoping it will improve with time. I am one to always keep an eye on any multitenant Asterisk-based solution. Are you considering throwing a Kamailio/openSIPS in front of that as the product evolves? I see you try to do a lot around billing, one billing issue I’ve encountered is the need to bill some sort of monthly line-rental for DIDs. Probably something you could look into. Also some providers bill for inbound and outbound calls. Again something to probably put on your “very long list” (as opposed to a shortlist)