This page describes automated installation using the macOS FreeSWITCH™ Installer (macFI). It is part of the FreeSWITCH™ macOS documentation.
What Can the macOS FreeSWITCH™ Installer (macFI) do?
- Install FreeSWITCH™ from the latest production or master/development source on macOS 10.13 High Sierra, 10.12 Sierra, and 10.11 El Capitan.
- Install FreeSWITCH™ from the latest production or master/development source on OS X 0.10 Yosemite and 10.9 Mavericks in unsupported mode (no fixes to macFI for these releases).
- Start FreeSWITCH™ for testing.
- Update FreeSWITCH™.
- Remove parts or all of the installation.
- Show and hide macOS invisible files.
- Open wiki pages,
Why Use the macOS FreeSWITCH™ Installer?
There are lot's of advantages to using the macFI as seen below. The primary ones are:
- It eliminates the need to use Terminal commands and guides people through the whole process.
- It determines if steps were previously accomplished and performs only what's needed.
- It creates a folder of log files so it's easy to check for problems.
- It saves a lot of time during initial installation, updates and testing. In fact, this wiki takes a lot of testing to update, I developed this so I could click a couple of times then walk away!
What Steps are Performed?
The installer performs identical steps as described in Manual Installation. You can review the manual instructions before using the macFI to view most of the commands the macFI will execute.
Here is the sequence of functions performed:
- Determines if it can run on the macOS release.
- Locates and determines the latest production version of FreeSWITCH™ source.
- Asks what function is desired, install, test or remove.
- For installation, what version to download.
- Checks for presence of Xcode and Xcode beta.
- Checks for presence of Command Line Utilities.
- Checks if hidden files are visible.
- Checks if the required directories exists.
- Checks if the install directory has the correct ownership.
- Checks for presence of Homebrew.
- Checks for presence of prerequisites supplied by Homebrew.
- Checks for presence of previous FreeSWITCH™ source and runtime libraries.
- Produces a list of actions to take and requests verification to proceed.
- If required, launches web pages to install Xcode.
- If required, launches functions to install Command Line Utilities.
- If required, makes hidden files visible.
- If required, creates directories exists.
- If required, changes the ownership of the install directory.
- If required, downloads and installs Homebrew.
- If required, updates prerequisites supplied by Homebrew.
- If required, downloads and installs prerequisites supplied by Homebrew.
- If required, renames previous FreeSWITCH™ source and runtime libraries to prevent changes.
- Performs git clone of FreeSWITCH™.
- Performs bootstrap and configure.
- Adds FLITE to modules.conf.
- Performs make, make install, make install sounds, and make clean.
- Prompts for testing selection.
- If testing, opens web pages to FreeSWITCH™ information and displays IP address and port for phone configuration.
- If testing, launches FreeSWITCH™ to test.
Still not convinced to use the macFI? Here is a bonus: Output from most terminal commands are separated and placed into a folder created on the desktop using a date and time stamp. Each of the following commands are logged:
- Install or update Homebrew
- Install and/or update prerequisites
- Download and install FreeSWITCH™ source
- bootstrap command
- configure command
- make command
- make install command
- make install sounds command
Set Terminal Application Screen Size
macFI uses the macOS Terminal application extensively during installation. The default screen size is very small so it's recommended to increase it for readability by:
- Start the Terminal application in the Applications -> Utilities folder by double-clicking on it. Then open its preferences panel.
- In Settings–>Profiles–>Window change the Window Size to larger values such as 140x48 to reduce having to resize the window often.
If you plan to start FreeSWITCH™ from the Terminal command line often then you should place the Terminal application into the Dock for quick access.
Download and Install the macOS FreeSWITCH™ Installer
It's incredibly easy to install, just follow this single step:
- Click on this link: macOS FreeSWITCH™ Installer, macOS will automatically download and unzip the file.
Running the macOS FreeSWITCH™ Installer
One-Time Security Setting
Due to macOS's tight security, there is a one-time security setting required because the macFI automates one keystroke (command-K in Terminal). The first time macFI is run macOS will state that it cannot run the app due to security restrictions. You must open System Preferences –> Security & Privacy and under General set to allow macOS to run macFI. The macFI can then be run anytime.
You should not perform other functions while the installer is running, although the macFI will run correctly, the Terminal window may not display as intended.
You can rerun the installer anytime, even it it was stopped or failed. It will determine what is already installed.
Double-click the installer to start it. Just follow the prompts and answer a few questions!
Where to go Next
Instructions for starting and stopping FreeSWITCH™ are at macOS Testing and Diagnostics.
macFI Change History
July 13, 2017 Major update: Updates not required for FS release changes, auto find latest production release, place VRM in messages, add stable branch download, add unsupported message
June 24, 2017 Change /usr/local logic for 10.13 and compatibility, add show/hide invisible files, redo intro dialogs and wiki options, add update function
March 24, 2017 Added libtiff prerequisite for spandsp.
January 4, 2017 Added speexdsp prerequisite.
September 15, 2016 Renamed, change path for new Homebrew, use active Xcode version, 10.11 get Xcode 7 from dev site. Sep 16/17 Update Xcode URLs
July 17, 2016 Add testing only option, 10.10 get Xcode 7 from dev site, use Xcode beta if found, allow bypass of open test calls wiki. Minor fixes.
February 26, 2016 Remove libvpx libyuv, replace nasm with yasm, change remove brew cache command.
November 26, 2015 Replace non-homebrew packages with homebrew since they are now available.
October 22, 2015 List names of prereqs. Other minor fixes.
October 16, 2015 Add FreeSWITCH™1.6, remove 1.4, update prerequisites add installation of non-homebrew packages.
October 3, 2015 Add change ownership logic for /usr/local, change 10.9 Xcode 6 download, remove 10.8 and Xcode 5 support.
November 5, 2014 Add Xcode 6.1 and Yosemite support. November 22, 2014 change URLs.
April 5, 2014 First released to the Wiki