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.
Five to ten minutes
-
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 -
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 -
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 -
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.
- 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.