FS PBX VoIP PBX System

repository·main·Indexed 42 days ago

https://github.com/nemerald-voip/fspbx

A redesigned VoIP PBX system forked from FusionPBX, featuring a Laravel backend and Vue.js frontend. It provides a modern interface for managing telephony services and includes CLI tools for system backups, superadmin management, LDAP synchronization, and recording metadata backfilling.

Tokens
115.9K
Snippets
318
Records
548
Agent score
53%

What's inside FS PBX

  1. Overview of FS PBX

    main

    FS PBX is an enterprise-grade VoIP and unified communications platform built on top of FreeSWITCH®. It is a redesigned evolution of FusionPBX, utilizing a modern technology stack including Laravel, Vue.js, Tailwind, and modern APIs while maintaining compatibility with the proven FreeSWITCH + PostgreSQL architecture.

    Key Capabilities

    • Service Provider Ready: Supports multi-tenant design, white-label branding, and advanced provisioning.
    • Provisioning: Zero-touch provisioning for vendors such as Yealink, Polycom, Fanvil, Cisco, and Algo.
    • Advanced Modules: Includes Contact Center (real-time wallboards, agent stats), Hospitality/PMS (room management, housekeeping), SMS/MMS, E-Fax, and AI integrations.
    • Security: Advanced firewall, event guard integration, IP reputation filtering, and TLS/SRTP support.
    • Billing: Integration with Stripe and Ceretax for invoicing and telecom tax compliance.
  2. Overview of FS PBX API v1

    main

    FS PBX provides a RESTful API (v1) for programmatic access to core PBX resources like domains, extensions, and voicemails. It is designed for automating provisioning, integrating with external systems (CRM, billing, OSS/BSS), and building custom dashboards.

    Key Specifications:

    • Protocol: HTTPS only (non-TLS requests are rejected).
    • Data Format: JSON for both requests and responses.
    • Authentication: Bearer token (API key).
  3. New features in FS PBX v1.0.0 (Debian 13 Release)

    main

    The v1.0.0 release introduces several improvements for modern Debian environments:

    • OS Detection: Updated install and update scripts to automatically detect and configure the Debian 13 codename.
    • Dependency Management: Improved handling and package checks for core services including systemd, iptables, and snmpd.
    • Environment Detection: Refined logging and environment detection logic.
    • FreeSWITCH Compatibility: Improved compatibility with FreeSWITCH 1.10.12 and 1.10.13.
    • System Configuration: Updated default paths and permission handling to align with new Debian configurations.
  4. What is DISA (Direct Inward System Access)?

    main
    DISA (Direct Inward System Access) allows authorized users to access the PBX system from an external phone line. After authenticating with a PIN, users can place outbound calls or access internal features as if they were dialing from an internal extension. This is useful for remote employees or administrators who need to make calls through the PBX while maintaining control and proper billing.
  5. How Agent Presence BLF keys behave

    main

    The BLF keys provide real-time visual feedback via LEDs and audio confirmation. Note that an agent who is On Break is still considered Logged In.

    Key Functionality

    KeyLED OnLED OffAction
    Agent LoginAvailable, Available On Demand, or On BreakLogged OutLogs the agent in as Available, or logs out an agent who is already logged in
    Agent BreakOn BreakAny other statusChanges On Break to Available, or changes another status to On Break

    Status and LED Mapping

    Agent statusAgent Login LEDAgent Break LED
    Logged OutOffOff
    AvailableOnOff
    Available On DemandOnOff
    On BreakOnOn

    Audio Feedback: The phone will play a confirmation: Logged In, Logged Out, On Break, or Available.

  6. Enable MMS support for Bandwidth

    main

    If your Bandwidth number supports MMS, FS PBX can process media attachments (like pictures) within the same messaging flow.

    Requirement: To use MMS media storage, you must have S3-compatible storage already configured in your FS PBX system.

    When configured, users can:

    • Receive inbound picture messages in the mobile app.
    • Reply to MMS conversations.
    • Maintain a unified SMS and MMS conversation history.
  7. Understand Ringotel User Types: Activated vs. Contact Users

    main

    Ringotel supports two distinct user types within the integration:

    Activated Users

    • Purpose: Regular app users who sign in to Ringotel apps.
    • Features: Access all features included in your subscription.
    • Billing: These users count toward your subscription billing.

    Contact Users

    • Purpose: Non-licensed directory entries.
    • Features: They cannot sign in to apps, but they appear in contact lists and BLF-style views for other users.
    • Billing: These users are not billed.
  8. How phone provisioning works in FS PBX

    main

    Phone provisioning automates the setup and management of VoIP phones. Instead of manual configuration, FS PBX acts as a central server. When a phone boots or reboots, it requests a configuration file from a specific FS PBX URL. FS PBX identifies the phone by its unique MAC address, matches it to a device record, and dynamically generates a configuration file containing:

    • Connectivity settings: SIP usernames, passwords, and server/proxy addresses.
    • User interface: Line keys, BLF (Busy Lamp Field) button layouts, and speed dials.
    • System preferences: Time zones, language, dial plans, and firmware upgrade paths.
    • Network settings: VLAN tags, QoS, and STUN/TURN configurations.
  9. Configure system notification SMS numbers

    main

    FS PBX allows you to define specific numbers for system-generated messages (such as voicemail delivery notifications or voicemail transcription summaries).

    These numbers are configured under Message Settings and differ from standard user numbers in that they are not attached to an extension and are not intended for normal two-way user conversations.

  10. Enable MMS support for VoIP.ms

    main

    If your VoIP.ms number supports MMS, FS PBX can process media attachments. To enable this, you must have S3-compatible storage already configured in your system.

    When S3 is configured, users can:

    • Receive inbound picture messages in the dashboard or mobile app.
    • Reply to supported MMS conversations.
    • Maintain SMS and MMS history within the same conversation thread.
  11. Use vendor cloud redirection for zero-touch deployment

    main

    Vendor cloud services (like Yealink RPS, Polycom ZTP, or Grandstream GDMS) solve the 'first-contact' problem. They allow a factory-reset phone to find your FS PBX provisioning server automatically without manual local configuration.

    Note: A 'Listed' status in a vendor cloud only means the provider accepted the record. To confirm successful provisioning, check the Last Contact field on the Devices page in FS PBX and verify the SIP account under Registrations.

  12. How calls and registrations are mapped to a Domain

    main

    FS PBX uses several mechanisms to ensure calls and devices are routed to the correct tenant:

    1. SIP Registration Domain: Devices register to a tenant-specific host (e.g., acme.example.com) or use a shared host where the tenant identity is carried in the SIP fields.
    2. Inbound DID Routing: Inbound calls to a specific phone number (DID) are matched to a Domain, which then routes the call within that Domain's internal logic.
    3. User/Device Assignment: Extensions and devices are explicitly assigned to a specific Domain, ensuring that even duplicate extension numbers are kept separate.