Self-hosted PBX Self-service

FreeSWITCH (self-hosted)
SIP setup

FreeSWITCH is the modern open-source softswitch that SoloDial itself runs on. If you host a FreeSWITCH PBX, adding a SIP extension is native: XML user file + directory reload + copy credentials.

Plan: Any edition of FreeSWITCH you run yourself. Same applies if you're using it via FusionPBX, Signalwire Stack, or similar admin UIs.

Five to ten minutes

  1. 01

    Edit or create the user's XML file

    In /etc/freeswitch/directory/default/, copy an existing user file (e.g. 1000.xml) to a new number like 7100.xml. Or if you're on FusionPBX, create the extension through the admin UI at Advanced > Default Settings > Provision, which writes the XML for you.

    File listing of /etc/freeswitch/directory/default/ with 7100.xml highlighted
  2. 02

    Set the ID and the password

    In the user XML: <user id="7100"> at the top, and <param name="password" value="STRONG_PASSWORD_HERE"/> in the params section. Pick a long random password, FreeSWITCH's default config exposes SIP on the open internet if you don't harden it.

    user XML snippet showing id and password param
  3. 03

    Reload the directory

    At the FreeSWITCH CLI (fs_cli -x): reloadxml then sofia profile external rescan. New extension is live.

    fs_cli output showing reloadxml + rescan confirmations
  4. 04

    Copy credentials into SoloDial

    Extension = 7100. SIP Username = 7100. SIP Password = STRONG_PASSWORD_HERE. Registration URL = your FreeSWITCH public hostname + port, typically pbx.yourdomain.com:5060 for the internal profile or :5080 for external.

Watch out for
  • FreeSWITCH's default internal profile (port 5060) is intended for LAN registrations; external registrations should use the external profile (port 5080 in vanilla configs). Pick the one your network topology matches.
  • sofia profiles have their own 'auth-calls' and 'accept-blind-reg' flags. Keep auth-calls=true (mandatory auth) and accept-blind-reg=false (default). Loosening these is how open FreeSWITCH servers get turned into toll-fraud relays.
  • If you're on Signalwire Stack or FusionPBX, the admin UI writes the XML for you and exposes the password in the extension detail page. Don't edit the XML directly in that case or the UI will overwrite your change on next save.