By lee · May 17, 2012
Tanstagi.net offers free accounts. But it’s more fun to run your own.
Ready? Here’s the 12 step program.
The core server system is what provides user registration and media proxying. The reference application I used is called Freeswitch. It has a plethora of configuration options, so I chose to use a configuration management system called Chef to get everything set correctly.
apt-get install sudo curl git-corenetstat -lntp you should see freeswitch listening on TCP port 5061/opt/chef/embedded/bin/ruby /usr/local/freeswitch/scripts/gen_users. Without arguments, it will print the required parameters. Run it with an offset of 1000 and as many users as you like. Copy the XML files output by the script to /usr/local/freeswitch/conf/directory/default/ The script will also output a file with plaintext passwords so you can provision user handsets. Put this file somewhere safe and encrypted/usr/local/freeswitch/bin/fs_cli -x "reloadxml"If you make it through these steps, congratulations! You are now a Freeswitch operator. If you’re curious what is behind all of this and why it works, you should read about SIP, ZRTP and SDP. It’s also worth noting that the Chef cookbook configures the server to act as an SSL Certificate Authority. This is used for Secure SIP. The current landscape of using commercially signed certificates in Freeswitch is far more complicated than any HTTPS web server you may have worked with.
If you’d like to get help from me or another Guardian Project hacker, you can create issues in our tracker and message SteeleNivenson on Freenode or OFTC in channel #guardianproject. Oh yeah, and there’s Twitter @leeazzarello.