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 public release or master/development source on macOS 12 Monterey and 11 Big Sur.
- Start FreeSWITCH™ for testing.
- Update prerequisites and 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 public version of FreeSWITCH™ source.
- Asks what function is desired, install, test or remove.
- For installation, what version to download.
- 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, 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
All of the software this procedure installs can be removed easily. However, to restore to a point where nothing was changed a backup is required.
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 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
The macFI is now distributed as an AppleScript source script to avoid having to sign or notarize a downloaded application. Double-clicking macFI will launch the "Script Editor" utility. Simply click the run icon (right triangle) to start macFI.
One Time Security Preparation
macFI must be started once to set macOS security settings. After starting the macFI the first time:
1. Go to System Preferences –> Security and Privacy –> Privacy settings.
2. Unlock the settings using the lock in the lower left corner.
3. Select Accessibility, and checkmark "Script Editor".
Start FreeSWITCH Installation
Double-click macFI and answer the prompts, it will ask for the password to allow it to install Homebrew and rename directories.
Do not perform other functions while the installer is running, it may corrupt the Terminal window and logs.
You can rerun the installer anytime after it was stopped or failed. It will determine what is already installed.
Where to go Next
Instructions for starting and stopping FreeSWITCH™ are at macOS Testing and Diagnostics.
macFI Change History
May 25, 2022 Replace ffmpeg with ffmpeg@4, use Homebrew/freeswitch for freeswitch supplied prereqs.
August 7, 2020 Add Sofia and Spandsp prerequisites. Big Sur support. Other minor changes.
June 20, 2020 Homebrew install command changed. Replaced ruby install homebrew with bash install.
March 20, 2020 Add CFLAGS="-Wno-unused-function" temporarily. See Issue #176 and #518.
October 5, 2019 Change master and branch download location from freeswitch.org to GitHub.
August 20, 2019 Change "stable" and transcoding messages, remove -s from curl file download.
August 6, 2019 Replace download sed command with grep, handle file name change for FS 1.10.
July 27, 2019 Add ffmpeg and yasm prerequisite for video. Add option to exclude video transcoding and recording.
July 22, 2019 Add libpq prerequisite.
February 26, 2019 Add installation timers. Change download from .gz to .bz2. Minor message changes.
December 27, 2018 Add new libks and signalwire-c prerequisites. Change flite formula name.
September 30, 2018 Replace Terminal clear screen logic due to Mohave security. Update minimum macOS release support.
December 10, 2017 Remove Xcode, homebrew now installs Command Line Tools. Change remove Xcode option to remove CLT
July 13, 2017 Major update: Updates not required for FS release changes, auto find latest public 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 17, 2016 Update Xcode URLs
September 15, 2016 Renamed, change path for new Homebrew, use active Xcode version, 10.11 get Xcode 7 from dev site.
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