Call Us Today! 877.742.2583

Page tree
Skip to end of metadata
Go to start of metadata


This page documents a simple home PBX using FreeSwitch. It is currently being used at my (mmurdock) home but is a work in progress. I will attempt to add more features as I get them developed or tested.

  • Updated 03-20-2007 - Using the new FS sofia.conf.xml configuration
  • Updated 12-28-2006 - The answering machine javascript application is now working and as such I included the call to it on inbound call handling.


 Click here to expand Table of Contents


  • 5 Phones (handsets)

    • 3 Pots phones (two wireless, one wired)
    • 1 SIP Softphone
    • 1 SIP Hardphone
  • 2 SIP providers

    • 1 Inbound only (NY DID)
    • 1 Inound/Outbound (Local DID)


  • Dell GX240

    • 1.5 Ghz P4 CPU
    • 512M Ram
    • 20GB HD
    • (cost $175)
  • OS

    • Stock Fedora Core 5
    • Init Level 3

Phones & Adaptors

  • SPA 2002SNOM 190 SIP Phone (Extension 101)

    • Drives two POTS lines (FXS)
      • One line drives Wireless handsets (Extension 105)
      • Second Line drives POTS Deskset (Extension 106)
  • XTEN Softphone on Windows (Extension 102)

Call Handling

  • Inbound

    • When a call arrives from either DID it is handled as follows.
      • Ring all phones in the house for 30 seconds
      • If no answer on any line
        • Send caller to the answering machine application
        • Terminate call
      • If any extension answers
        • Bridge caller to extension
  • Outbound

    • If 3 digits dialed

      • If 888 Dialed - Bridge call to Freeswitch Conference via SIP
      • Else dial Internal Extension
    • If 7 digits dialed

      • Prepend areacode and dial via SIP Provider
    • If 10 digits dialed

      • Dial via SIP Provider
    • If 1+ digits dialed

      • Dial via SIP Provider

Sofia configuration (sofia.conf.xml)

This Sofia configuration is provided for example only and specific account settings have been changed. The only changes necessary were made to the gateway settings in order to authenticate with my SIP provider (TELIAX).

Chris 21:00, 10 May 2008 (EDT) Please note that this is an outdated demonstration of setting up a SIP Provider. Please adhere to the the setting specified within the SIP Provider Examples page. Basically, add in your SIP profiles within the conf/sip_profiles/external and internal directories location rather than editing the sofia.conf.xml file.


Dial Plan Section

Don't panic at the size of this section, most of the lines are comments "<!-- this is a comment -->" to explain what is going on or optional stuff you may or may not want.

While Freeswitch supports a number of sources for your dialplan, the default and easiest to configure is the XML Dialplan below. The xml dialplan provides the ability to evaluate a number of fields using regex patterns and based upon those matches take some action. The sample dialplan below is designed for a SOHO PBX but can easily be enhanced to meet more complex needs.

For help constructing a regex pattern try or any of the number of sites listed when you search google for "regex test".