Skip to content

Commit 6e9a55a

Browse files
Update macOS wiki to add Apple Silicon info and bring up to date and new macFI installer. (#268)
* Update index.mdx macOS wiki updates * Update macOS-Testing-and-Diagnostics_13174550.mdx * Update macOS-24x7-Preparation_13174585.mdx * Update macOS-Customization_9634513.mdx * Update macOS-Testing-and-Diagnostics_13174550.mdx * Update macOS-Homebrew-Installation_72253508.mdx * Update macOS-Homebrew-Installation_72253508.mdx * Update macOS-Homebrew-Installation_72253508.mdx * Update macOS-Homebrew-Installation_72253508.mdx * Update index.mdx installation * Update macOS-Homebrew-Installation_72253508.mdx * Update macOS-Manual-Installation_13174557.mdx * Update index.mdx * Update macOS-24x7-Preparation_13174585.mdx * Update macOS-Customization_9634513.mdx * Update macOS-Testing-and-Diagnostics_13174550.mdx * Update macOS-Email-Voicemail_13174591.mdx * Add files via upload * Rename macOS FreeSWITCH Installer.zip to macOS-FreeSWITCH-Installer.zip * Update macOS-macFI-Installation_1966731.mdx * Update index.mdx install fix <br /> * Update index.mdx fix <br> to <br/> * Update index.mdx Fix heading * Update index.mdx change title from options to methods * Update macOS-Email-Voicemail_13174591.mdx add xml * Update macOS-24x7-Preparation_13174585.mdx fix numbers * Update macOS-Manual-Installation_13174557.mdx missing /opt etc. --------- Co-authored-by: Devon <[email protected]>
1 parent 563997f commit 6e9a55a

10 files changed

+226
-188
lines changed

docs/FreeSWITCH-Explained/Installation/macOS/index.mdx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44

55
## About
66

7-
This is a complete guide for installing FreeSWITCH™ and its prerequisites on macOS, and for establishing 24x7 operation.
7+
This is a complete guide for installing FreeSWITCH™ on macOS, and for establishing 24x7 operation.
88

99
****What Is FreeSWITCH™?**
1010
**[FreeSWITCH™](http://en.wikipedia.org/wiki/FreeSWITCH)** is an **[application](https://en.wikipedia.org/wiki/Application%5Fsoftware)** that manages **[VOIP](http://en.wikipedia.org/wiki/Voip)** phones and connections to **[ITSPs (Internet Telephony Service Providers)](http://en.wikipedia.org/wiki/ITSP).**
1111

1212
**What Can You Do With FreeSWITCH™?**
13-
It's powerful customization provides our incoming calls to do this: Normal ringing is replaced by: “Hi Pam, hold on while our phones ring", phones ring and Pam hears music, after 25 seconds: “hold on Pam while our iPhones ring", internal phones keep ringing and multiple iPhones ring, if no answer: “sorry we missed you Pam, please leave a message", Pam’s voicemail is taken and emailed to multiple iPhones!
13+
It's powerful customization provides our system to do this: Incoming callers normal ringing is replaced by: “Hi Pam, hold on while our phones ring", phones ring and Pam hears music, after 25 seconds: “hold on Pam while our iPhones ring", internal phones keep ringing and multiple iPhones ring, if no answer: “sorry we missed you Pam, please leave a message", Pam’s voicemail is taken and emailed to multiple iPhones!
1414

1515
**Who Are These Pages For?**
1616
This document is for people who want to install FreeSWITCH™ on macOS and are not familiar with Linux/Unix commands and directories.
@@ -20,7 +20,7 @@ Here is a list of the macOS Wiki pages:
2020

2121
| Description | Page |
2222
| -- | -- |
23-
| FreeSWITCH™ macOS Installation options | [macOS Installation](./macOS-Installation/index.mdx#about)|
23+
| FreeSWITCH™ macOS Installation methods | [macOS Installation](./macOS-Installation/index.mdx#about)|
2424
| Automated installation utility|[macOS macFI Installation](./macOS-Installation/macOS-macFI-Installation_1966731.mdx#about)|
2525
| Manual installation using Terminal | [macOS Manual Installation](./macOS-Installation/macOS-Manual-Installation_13174557.mdx#about)|
2626
| Install Homebrew FreeSWITCH version | [macOS Homebrew Installation](./macOS-Installation/macOS-Homebrew-Installation_72253508.mdx#about)|
@@ -43,6 +43,7 @@ FreeSWITCH™ is tested and runs 24x7 on a [headless](macOS-Customization_963451
4343
**macOS Wiki History**
4444
Major changes occurred:
4545

46+
* June 19, 2025 - All pages updated to add Apple Silicon information
4647
* May 14, 2022 - Created "macOS Homebrew Installation" page
4748
* March 12, 2017 - Created "Manual Installation", "Testing and Diagnosis", "24x7 Preparation", "Email Voicemails" split from other pages
4849
* October 18, 2015 - Split installation and customization pages, combine installation sections, updated for FreeSWITCH™ 1.6, OS X 10.11 and Xcode 7, archive OS X 10.6, 10.7 and 10.8

docs/FreeSWITCH-Explained/Installation/macOS/macOS-24x7-Preparation_13174585.mdx

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
21
# macOS 24x7 Preparation
32

4-
53
## About
64

7-
This section describes how to prepare macOS for running FreeSWITCH™ 24x7\. It is part of the FreeSWITCH™ [macOS](./index.mdx#about) documentation.
5+
This section describes how to prepare macOS for running [FreeSWITCH](https://en.wikipedia.org/wiki/FreeSWITCH)™ 24x7\. It is part of the FreeSWITCH™ [macOS](./index.mdx#about) documentation.
86

97
* 1 [Why 24x7 Operation?](#why-24x7-operation)
108
* 2 [Create Dummy Command File](#create-dummy-command-file)
@@ -45,11 +43,13 @@ You can perform all editing using Textedit, however, you should become familiar
4543

4644
Some steps in this section require a command script file. This is a file that you can double click to run in the Terminal application. More importantly, these files are also used for automatic startup functions.
4745

48-
Command files are text files containing Terminal commands with the file's permission changed to become executable. Rather than repeat this process for each file, create a dummy command file that will serve as a skeleton and retain its permissions when copied. The files are saved in /usr/local/freeswitch-scripts but you can place them anywhere. Once a command text file is created it can be opened and saved in Textedit or Xcode, whatever is your preference, without any extra steps.
46+
Command files are text files containing Terminal commands with the file's permission changed to become executable. Rather than repeat this process for each file, create a dummy command file that will serve as a skeleton and retain its permissions when copied. The files are saved in /opt or /usr/local/ but you can place them anywhere. Once a command text file is created it can be opened and saved in Textedit or Xcode, whatever is your preference, without any extra steps.
4947

50-
* Create the /usr/local/freeswitch-scripts directory:
48+
* Create the freeswitch-scripts directory:
5149
```xml
52-
mkdir /usr/local/freeswitch-scripts
50+
mkdir /opt/freeswitch-scripts # On Apple Silicon
51+
or
52+
mkdir /usr/local/freeswitch-scripts # On x86
5353
```
5454
1. Start Textedit
5555
2. Paste the two lines below into the empty document:
@@ -62,20 +62,22 @@ Make sure they are saved as text:
6262

6363
1. Pull down the Format menu
6464
2. Select Make Plain Text, if the default for saving text is already Plain Text, this step is not needed.
65-
3. Save the file in /usr/local/freeswitch-scripts as dummy.command. While the file window is open press command+shift+.(period) to view hidden files.
65+
3. Save the file in /opt/freeswitch-scripts or /usr/local/freeswitch-scripts as dummy.command. While the file window is open press command+shift+.(period) to view hidden files.
6666
4. You may see examples with #!/bin/sh as the first line, either will work in any of these scripts.
6767

6868

6969
Start the Terminal application, switch to the new directory and enter the chmod command to make the file executable:
7070

7171
```xml
72-
cd /usr/local/freeswitch-scripts
72+
cd /opt/freeswitch-scripts # On Apple Silicon
73+
or
74+
cd /usr/local/freeswitch-scripts # On x86
7375
chmod +x dummy.command
7476
```
7577

7678
## Create the FreeSWITCH™ Command Script
7779

78-
The command to start FreeSWITCH™ is /usr/local/freeswitch/bin/freeswitch -parm1 -parm2…. You can start the freeswitch program using this command. However, it's much better to use a [bash](http://en.wikipedia.org/wiki/Bash%5F%28Unix%5Fshell%29) [script](http://en.wikipedia.org/wiki/Script%5F%28computing%29) which starts FreeSWITCH™.
80+
The command to start FreeSWITCH™ is /opt/freeswitch/bin/freeswitch or /usr/local/freeswitch/bin/freeswitch -parm1 -parm2…. You can start the freeswitch program using this command. However, it's much better to use a [bash](http://en.wikipedia.org/wiki/Bash%5F%28Unix%5Fshell%29) [script](http://en.wikipedia.org/wiki/Script%5F%28computing%29) which starts FreeSWITCH™.
7981

8082
Consider these requirements for a 24x7 phone system:
8183

@@ -175,6 +177,8 @@ if [[ $\{OS_Version} == 10.7 ]] | [[ $\{OS_Version} == 10.8 ]] | [[ $\{OS_Versio
175177
fi
176178
# Start freeswitch - do NOT use nohup and & since FS starts a new pid and the wrong one would be returned in check_fs
177179
writelog "freeswitch-startup - FreeSwitch is being started, script will wait until FreeSwitch is stopped"
180+
/opt/freeswitch/bin/freeswitch -nc -nonat
181+
-----OR-----OR-----OR----->
178182
/usr/local/freeswitch/bin/freeswitch -nc -nonat
179183
# Now wait for freeswitch to end, otherwise Launchd will restart this script when it ends
180184
check_fs
@@ -241,6 +245,8 @@ First, we create a "property list" file, also known as a ["plist"](http://en.wik
241245
<string>org.freeswitch.freeswitch</string>
242246
<key>ProgramArguments</key>
243247
<array>
248+
<string>/opt/freeswitch-scripts/fs-startup.command</string>
249+
-----OR-----OR-----OR----->
244250
<string>/usr/local/freeswitch-scripts/fs-startup.command</string>
245251
</array>
246252
</dict>
@@ -263,7 +269,7 @@ Now check if FreeSWITCH™ is running by either:
263269

264270
1. Test your phones
265271
2. Launch Activity Monitor
266-
3. In Terminal, run /usr/local/freeswitch/bin/freeswitch-cli
272+
3. In Terminal, run /opt/freeswitch/bin/freeswitch-cli or /usr/local/freeswitch/bin/freeswitch-cli
267273

268274
If FreeSWITCH™ is running, you can shut it down by issuing:
269275

@@ -295,6 +301,8 @@ Start Terminal and enter this command to create the freeswitch-shutdown.command
295301
Open the file in the editor and add the following line as the second line of the file (between the existing two lines):
296302

297303
```xml
304+
/opt/freeswitch/bin/freeswitch-cli -x "shutdown"
305+
or
298306
/usr/local/freeswitch/bin/freeswitch-cli -x "shutdown"
299307
```
300308

@@ -328,6 +336,8 @@ Next, create the plist file for Launchd:
328336
<string>org.freeswitch.shutdown</string>
329337
<key>ProgramArguments</key>
330338
<array>
339+
<string>/opt/freeswitch-scripts/freeswitch-shutdown.command</string>
340+
-----OR-----OR-----OR----->
331341
<string>/usr/local/freeswitch-scripts/freeswitch-shutdown.command</string>
332342
</array>
333343
<key>RunAtLoad</key>
@@ -371,6 +381,8 @@ Create the freeswitch-cli.command file in directory freeswitch-scripts:
371381
Next, add a line containing the command needed to start freeswitch-cli. Edit the new file and add the following line as the second line of the file (between the existing two lines):
372382

373383
```xml
384+
/opt/freeswitch/bin/freeswitch-cli
385+
or
374386
/usr/local/freeswitch/bin/freeswitch-cli
375387
```
376388

@@ -401,12 +413,14 @@ Start Terminal and enter this command to create the freeswitch-logseg.command fi
401413
Open the file in the editor and add the following line as the second line of the file (between the existing two lines).
402414

403415
```xml
416+
kill -HUP `cat /opt/freeswitch/run/freeswitch.pid`
417+
or
404418
kill -HUP `cat /usr/local/freeswitch/run/freeswitch.pid`
405419
```
406420

407421
Save the file, remember it's already executable.
408422

409-
Make sure FreeSWITCH™ is up and double click the file to test it. View the /usr/local/freeswitch/log directory, if the log was segmented proceed with the next steps.
423+
Make sure FreeSWITCH™ is up and double click the file to test it. View the /opt/freeswitch/log or /usr/local/freeswitch/log directory, if the log was segmented proceed with the next steps.
410424

411425
Set Security and Test
412426

@@ -434,7 +448,9 @@ Next, the plist file Launchd requires is created:
434448
<string>org.freeswitch.logseg</string>
435449
<key>ProgramArguments</key>
436450
<array>
437-
<string>/usr/local/freeswitch-scripts/freeswitch-logseg.command</string>
451+
<string>/opt/freeswitch-scripts/freeswitch-logseg.command</string>
452+
-----OR-----OR-----OR----->
453+
<string>/usr/local/freeswitch-scripts/freeswitch-logseg.command</string>
438454
</array>
439455
<key>RunAtLoad</key>
440456
<false/>
@@ -473,6 +489,8 @@ Start Terminal and enter this command to create the freeswitch-logclr.command fi
473489
Open the file in the editor and add the following line as the second line of the file (between the existing two lines). Notice that mtime is set so files older than 14 days are deleted. You can change this to any valid mtime value.
474490

475491
```xml
492+
/usr/bin/find /opt/freeswitch/log -name "freeswitch.log.*" -mtime +14 -delete
493+
or
476494
/usr/bin/find /usr/local/freeswitch/log -name "freeswitch.log.*" -mtime +14 -delete
477495
```
478496

@@ -506,7 +524,9 @@ Next, the plist file Launchd requires is created:
506524
<string>org.freeswitch.logclr</string>
507525
<key>ProgramArguments</key>
508526
<array>
509-
<string>/usr/local/freeswitch-scripts/freeswitch-logclr.command</string>
527+
<string>/opt/freeswitch-scripts/freeswitch-logclr.command</string>
528+
-----OR-----OR-----OR----->
529+
<string>/usr/local/freeswitch-scripts/freeswitch-logclr.command</string>
510530
</array>
511531
<key>RunAtLoad</key>
512532
<false/>
@@ -549,6 +569,8 @@ Open the file in an editor and replace the text with the following lines that wi
549569

550570
```xml
551571
#!/bin/sh
572+
logfile="/opt/freeswitch/log/freeswitch.log"
573+
or
552574
logfile="/usr/local/freeswitch/log/freeswitch.log"
553575
mdate=$(GetFileInfo -m $logfile)
554576
newname=$logfile"-"${mdate:6:4}"-"${mdate:0:2}"-"${mdate:3:2}"-"${mdate:11:2}"-"${mdate:14:2}"-last"

docs/FreeSWITCH-Explained/Installation/macOS/macOS-Customization_9634513.mdx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11

22
# macOS Customization
33

4-
5-
64
## About
75

8-
This section describes how to customize macOS and FreeSWITCH™ to provide additional benefits. It is part of the FreeSWITCH™ [macOS](./index.mdx#about) documentation.
6+
This section describes how to customize macOS and [FreeSWITCH](https://en.wikipedia.org/wiki/FreeSWITCH)™ to provide additional benefits. It is part of the FreeSWITCH™ [macOS](./index.mdx#about) documentation.
97

108
* 1 [Configuration Introduction](#configuration-introduction)
119
* 2 [24x7 Operation](#24x7-operation)
@@ -22,7 +20,7 @@ This section describes how to customize macOS and FreeSWITCH™ to provide addit
2220

2321
## Configuration Introduction
2422

25-
Read [Configuring FreeSWITCH](../../Configuration/Configuring-FreeSWITCH/index.mdx#set) to learn about the various configuration files and "poke around" the sample configuration in the /usr/local/freeswitch/conf folder. To setup the gateway to your ITSP and dialplans so you can make and receive calls these files require changing:
23+
Read [Configuring FreeSWITCH](../../Configuration/Configuring-FreeSWITCH/index.mdx#set) to learn about the various configuration files and "poke around" the sample configuration in the /opt/freeswitch/conf or /usr/local/freeswitch/conf folder. To setup the gateway to your ITSP and dialplans so you can make and receive calls these files require changing:
2624

2725
* Gateway to your ITSP in conf/sip\_profiles
2826
* User extensions in conf/directory/default
@@ -99,7 +97,7 @@ If you have a headless Mac but don't have another one to use for screen or file
9997

10098
## Invisible Files and Directories
10199

102-
macOS hides many Unix directories and files from the finder and Terminal app. You won't be able to view /usr or other hidden directories without special commands or extra steps. Here are some options to allow you to see hidden files:
100+
macOS hides many Unix directories and files from the finder and Terminal app. You won't be able to view /opt, /usr or other hidden directories without special commands or extra steps. Here are some options to allow you to see hidden files:
103101

104102
### Scripts and Widgets
105103

docs/FreeSWITCH-Explained/Installation/macOS/macOS-Email-Voicemail_13174591.mdx

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
21
# macOS Email Voicemail
32

4-
5-
63
## About
74

8-
This section describes how to customize macOS and FreeSWITCH™ to send voicemail files as emails automatically. It is part of the FreeSWITCH™ [macOS](./index.mdx#about) documentation.
5+
This section describes how to customize macOS and [FreeSWITCH](https://en.wikipedia.org/wiki/FreeSWITCH)™ to send voicemail files as emails automatically. It is part of the FreeSWITCH™ [macOS](./index.mdx#about) documentation.
96

107
* 1 [Email Voicemail to an iPhone](#email-voicemail-to-an-iphone)
118
* 2 [How This Works](#how-this-works)
@@ -44,7 +41,7 @@ Before editing files the correct parameters must be determined. The process is n
4441

4542
**fromname** - The email account name of fromdomain the email is sent from. The example uses "freeswitch".
4643

47-
**frompw **- The password for the fromname email account. The example uses "SECRET".
44+
**frompw** - The password for the fromname email account. The example uses "SECRET".
4845

4946
**toemail** - The target complete email address the email to be sent to. The example uses [email protected].
5047

@@ -170,10 +167,21 @@ If everyones voicemail are to go to a single common email, you can optionally ma
170167

171168
Edit voicemail.xml and change the line below, make sure to use the valid email account used in the passwords file above:
172169

173-
Original: \<param name="email-from" value="\$\{voicemail_account}@$\{voicemail_domain}"/>
174-
Replacement: \<param name="email-from" value="[email protected]"/>
175-
170+
**Original**:
171+
```xml
172+
<param name="email-from" value="${voicemail_account}@${voicemail_domain}"/>
173+
```
174+
**Replacement**:
175+
```xml
176+
<param name="email-from" value="[email protected]"/>
177+
```
176178
This voicemail templates also required editing. Change the first line in the conf/voicemail.tpl and notify-voicemail.tpl templates:
177179

178-
Original: From: "\$\{voicemail_caller_id_name}" \<\$\{voicemail_caller_id_number}@\$\{voicemail_domain}>
179-
Replacement: From: "$\{voicemail_caller_id_name}" \<[email protected]>
180+
**Original**:
181+
```xml
182+
From: "${voicemail_caller_id_name}" <${voicemail_caller_id_number}@${voicemail_domain}>
183+
```
184+
**Replacement**:
185+
```xml
186+
From: "${voicemail_caller_id_name}" <phones@yourowndomain.com>
187+
```

0 commit comments

Comments
 (0)