https://www.dslreports.com/forum/r30661088-PBX-FreePBX-for-the-Raspberry-Pi
The included script (install) and archive (install.tar.gz) will build
FreePBX 13, 14, or 15 plus Asterisk 13, 15, 16, or 16-GVSIP on a Raspberry Pi.
iptables, dnsmasq, and exim4 are also installed.
Installation takes a approximately 35 minutes to complete on a Raspberry Pi 4B.
Download the latest Raspbian image:
https://downloads.raspberrypi.org/raspbian_lite_latest
Write the image to an 8 GB or larger SD card. To accomplish this, I recommend Etcher or imageUSB:
https://etcher.io/ or http://osforensics.com/downloads/imageusb.zip
Create an empty file named ssh in the /boot/ directory (type NUL > ssh).
Connect the Raspberry Pi to your LAN using an Ethernet cable.
Insert the SD card and power up the Raspberry Pi.
Copy install and install.tar.gz to the /home/pi directory. To accomplish this, I recommend WinSCP:
https://winscp.net/eng/download.php
Using an SSH client, log in using pi:raspberry. To accomplish this, I recommend PuTTY:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Make the install script executable:
$ chmod +x install
Run the install script:
$ sudo ./install
When prompted:
Set pi user password
Set root user password
Select FreePBX version
Select Asterisk version
Answer Edge option
Answer IPv6 option ('No' recommended)
Review selections
Set Hostname (Item 2 / N1 - Hostname: FreePBX)
Set Localisation Options - Locale (Item 4 / I1)
Set Localisation Options - Timezone (Item 4 / I2 - in US, use America, not US)
Expand Filesystem (Item 7 / A1)
Finish / Reboot Now: No
The Raspberry Pi will reboot.
Log in as root.
If desired, enable PuTTY logging when prompted.
The system will be updated and then reboot.
Log in as root.
If desired, enable PuTTY logging when prompted.
Confirm install.
Installation will proceed unattended and then reboot.
Log in as root.
Installation will complete.
GVSIP
=====
To use Google Voice SIP trunks, configure FreePBX settings as follows (FreePBX 14 illustrated):
Settings -> Advanced Settings -> Dialplan and Operational
SIP Channel Driver = both
Settings -> Asterisk SIP Settings -> General SIP Settings tab -> Media Transport Settings
STUN Server Address = stun.l.google.com:19302
Settings -> Asterisk SIP Settings -> Chan SIP Settings tab -> Advanced General Settings
Bind Port = 5160
Settings -> Asterisk SIP Settings -> Chan SIP Settings tab -> Advanced General Settings
TLS Bind Port = 5161
Settings -> Asterisk SIP Settings -> Chan PJSIP Settings tab -> tls
tls - 0.0.0.0 - All = Yes
Settings -> Asterisk SIP Settings -> Chan PJSIP Settings tab -> 0.0.0.0 (udp)
Port to Listen On = 5060
Settings -> Asterisk SIP Settings -> Chan PJSIP Settings tab -> 0.0.0.0 (tls)
Port to Listen On = 5061
If any changes are necessary, reboot after all changes have been submitted/applied and recheck everything.
Running:
asterisk -rx "module show like pj"
should display around 48 loaded modules with all but around 2 of them displaying a status of "Running".
Install Certificate Manager module (if not already installed).
Run: mv /root/obihai.* /etc/asterisk/keys/
Run: chown asterisk. /etc/asterisk/keys/obihai*
Click: Admin -> Certificate Management -> Import Locally
Settings -> Asterisk SIP Settings -> Chan PJSIP Settings tab -> TLS/SSL/SRTP Settings
Certificate Manager = obihai
Configure gvsip.dat for your Google Voice account(s). If you have more than one Google Voice account, copy
the five [gvsip1] sections to [gvsip2], [gvsip3], etc. Then edit each of the five [gvsipN] groups as follows:
Change (3 places):
NNNNNNNNNN to {10-digit Google Voice number}
Update:
refresh_token={Google Voice Refresh Token}
oauth_clientid={Google Voice Client ID}
oauth_secret={Google Voice Client Secret}
contact_header_params=obn={Google Voice SIP Name}
Upon completion, copy gvsip.dat to /etc/asterisk/pjsip_custom_post.conf:
cp gvsip.dat /etc/asterisk/pjsip_custom_post.conf
For each Google Voice account, create a Custom Trunk as follows:
Connectivity -> Trunks -> Add Trunk -> Add Custom Trunk - General tab
Outbound CallerID = <+{10-digit Google Voice number}+>
Connectivity -> Trunks -> Add Trunk -> Add Custom Trunk - General tab
CID Options = Force Trunk CID
Connectivity -> Trunks -> Add Trunk -> Add Custom Trunk - custom Settings tab
Custom Dial String = PJSIP/+$OUTNUM$@gvsipN (Replace 'gvsipN' with the [gvsipN] group number from gvsip.dat)
Upon completion of GVSIP configuration, run: fwconsole restart
gvsip-ver will display the currently installed version.
gvsip-upd may be run if updates to GVSIP become available (GVSIP will be installed if not already present).
Utility scripts included in /root:
install-opus
============
Install OPUS Codec
abn / dbn / ebn / ibn / qbn
===========================
Add / Delete / Export / Import / Query Blacklist Number
add-fcc-blacklist / del-fcc-blacklist
=====================================
Add / Delete FCC Blacklist
exclusions.fcc
==============
Numbers to Exclude from FCC Blacklist
ipt-add / ipt-del / ipt-chk / ipt-dsp
=====================================
Add / Delete / Check / Display iptables Entries
cell-phone-presence-bt / cell-phone-presence-obi
================================================
Cell Phone Presence Detection
pbx-backup / pbx-restore
========================
Backup / Restore PBX Configuration
image-backup / image-check / image-compare / image-set-ptuuid / image-shrink / image-mount
==========================================================================================
Backup / Check / Compare / Set PTUUID / Shrink / Mount an Image of the System SD Card
upgrade
=======
Upgrade / Update Linux
asterisk-upg-to-15
==================
Upgrade Asterisk 13/14 to Asterisk 15
asterisk-upg-to-16
==================
Upgrade Asterisk 13/14/15 to Asterisk 16
asterisk-upgrade
================
Upgrade Asterisk
set-boot
========
Set Boot PARTUUID (or /dev/mmcblk0)
set-timezone
============
Set System and PHP Time Zone
regen-ssh-keys
==============
Regenerate SSH Keys
clear-cache / clear-logs
========================
Clear Cache / Logs
install-nut
===========
Install Network UPS Tools
remove-nut
==========
Remove Network UPS Tools
install-zram
============
Install ZRAM swap file
remove-zram
===========
Remove ZRAM swap file
install-fax
===========
Install Hylafax Server
add-fax-extension
=================
Add Hylafax Extension
del-fax-extension
=================
Delete Hylafax Extension
purge-fax
=========
Purge HylaFAX Server
HylaFAX fax server
==================
1. Execute install-fax: ./install-fax
2. Execute add-fax-extension: ./add-fax-extension
Multiple fax exntsions may be added to support simultaneous sending and/or receiving of faxes.
SendFax
=======
SendFax is a program to send a fax file from Windows to a HylaFAX fax server.
No installation is required and no changes are made to your system.
Supported file tpyes are pdf, ps, tif, and tiff.
A cover page can be generated and prepended to outgoing faxes.
Leaving 'File to Send' empty will send only a cover page.
To configure, click Edit -> Options:
IP Address: (the IP address of your HylaFAX server)
Port Number: (the port number of your HylaFax server, normally 4559)
Username: (your username on your HylaFAX server, normally root)
Password: (your password on your HylaFAX server, normally blank)
Email Address: (the email address to deliver notifications to)
Notifications: (notification types to be sent)
Page Chop: (which pages to chop trailing whitespace from)
Threshold: (minimum trailing whitespace (in.) before chopping is used)
Modem: (which modem to use for outgoing faxes, normally blank)
Cover Folder: (folder to save cover page information in)
↧