Revolutionary Incredible PBX Amp Fax 2020 For Raspberry Pi
Revolutionary Incredible PBX Amp Fax 2020 For Raspberry Pi
Pi
nerdvittles.com/1-minute-wonder-incredible-pbx-fax-2020-for-raspberry-pi
Enhancements to the Raspberry Pi 4 platform have been fast and furious this fall. Last week
we introduced a $45 bootable SSD for the Raspberry Pi. And this week we’re showcasing the
$70 Raspberry Pi 400 keyboard PC and a new release of the Incredible PBX 2020 image
supporting both of these additions with all the latest Raspberry Pi firmware.
As we’re all hunkered down hiding from the Coronavirus, it seemed a perfect time to finally
tackle the project we’ve been putting off for longer than we care to publish, integrating
Incredible Fax with HylaFax and Avantfax into the base image of Incredible PBX® 2020 on
the Raspberry Pi 4 platform. This build also features Asterisk® 16 with the latest FreePBX®
15 GPL modules plus the feature sets of Incredible PBX® and RasPBX and RonR’s latest
build. It includes support for plug-and-play Incredible IP Phones and a new trunking
platform that integrates SMS messaging into your Asterisk platform. And it’s all rolled into
one terrific bundle that can be installed in about a minute after you burn the image to a
microSD card.
Unlike other aggregations, there’s nothing to compile with Incredible PBX/FAX 2020 for
Raspbian 10. And, unlike the FreePBX Distro, we don’t rely on static packages which make it
difficult to add future modifications on your own. Instead, Incredible PBX/Fax 2020 offers a
snapshot image with a complete toolkit to make future modifications as desired. Last, but not
least, Incredible PBX/Fax 2020 features the new ClearlyIP module repository which protects
you from proprietary modifications that limit or cripple your PBX moving forward.
1/20
What’s Included? Incredible PBX/Fax 2020 for Raspbian 10 serves up a never before
available VoIP powerhouse featuring Asterisk 16 and all FreePBX 15 GPL modules, an
Apache web server, the latest MariaDB SQL server (formerly MySQL), Exim4 mail server,
Incredible Fax with turnkey Hylafax and AvantFax, and most of the Incredible PBX feature
set including SIP, SMS, voice recognition, AsteriDex, PicoTTS Text-to-Speech VoIP
applications plus email delivery of faxes in PDF format, Click-to-Dial, News, Weather,
Telephone Reminders, and hundreds of features that typically are found in commercial
PBXs: Conferencing, IVRs and AutoAttendants, Email Delivery of transcribed voicemails,
Voicemail Blasting, and more. We’ve also incorporated the Zero Trunk Configuration feature
from the LITE build which lets you sign up with one of four VoIP providers and start making
and receiving calls instantly. Or you can use the new ClearlyIP trunking module included in
the GUI for seamless integration of SMS messaging into FreePBX and its User Control Panel.
>
2/20
You can choose a reseller below for quicker delivery. Assuming you already own an HDMI-
compatible monitor and a USB keyboard (only required if you don’t buy a RasPi 400)…
Here’s our 10-Step Guide to installation and setup. "Automatic" means just watch. Steps #1
and #2: follow the links. For the remaining steps, we’ll further document the procedures.
1. Download and unzip latest Incredible PBX/FAX 2020.3 image from SourceForge
2. Transfer Incredible PBX/FAX 2020 image to microSD card and Boot server
3. Login to RasPi console as root:password to initialize your server (Automatic)
4. In Localization Options, set Locale, TimeZone, Keyboard, & WiFi Country
5. Reboot after writing down your server IP address (Automatic)
6. Login via SSH or Putty as root:password to set passwords & setup firewall (Automatic)
7. Enter an email address for receipt of incoming faxes in PDF format
8. Run admin-pw-change to set the admin password for access to the web GUI
9. Register for and configure at least one trunk provider for Incredible PBX 2020
10. Set up and test your Exim mail server as documented below
cd /etc/wpa_supplicant
nano -w wpa_supplicant.conf
If your WiFi network does not require a password, uncomment or insert the four lines below
and save the file: Ctrl-X, Y, then Enter. Now restart your server: reboot. When the reboot
finishes, you now should have network connectivity.
3/20
network={
key_mgmt=NONE
priority=1
country=US
}
If your WiFi network requires a password, uncomment or insert the following into
wpa_supplicant.conf:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US
network={
ssid="YourSSID"
psk="YourSSIDpassword"
key_mgmt=WPA-PSK
scan_ssid=1
priority=7
}
Then scroll down to the SSID entry and replace YourSSID with the actual SSID of your WiFi
network. Make sure you preserve the entry with the quotes as shown. Next, replace
YourSSIDpassword with the SSID password of your WiFi network. Save the file: Ctrl-X, Y,
then Enter. Now restart your server: reboot. When the reboot finishes, you now should have
network connectivity.
Once the reboot process finishes, you should see an entry on about the middle line displayed
on your monitor which reads: "My IP address is…". Write down the IP address shown. You’ll
need it in a minute. Skip the next section since you are using a WiFi connection.
If you don’t see an IP address assigned to your server, then correct the network deficiency
(invalid WiFi credentials, DHCP not working, Internet down), and reboot until you see an IP
address assigned to your server. DO NOT PROCEED WITHOUT AN ASSIGNED IP
ADDRESS. NOTE: The Raspberry Pi 400 requires the latest Incredible PBX image for Wi-Fi
connectivity.
You’ll also need to change the default PortKnocker setting to your wireless LAN connection:
Incredible PBX 2020 requires Internet connectivity to complete its automated install. After
connecting your server to your local network with a network cable, insert the Incredible PBX
2020 microSD card into your Raspberry Pi and apply power to the hardware. When the
4/20
bootup procedure finishes, you should see an entry on about the middle line displayed on
your monitor which reads: "My IP address is…". Write down the IP address shown. You’ll
need it in the next step.
If you don’t see an IP address assigned to your server, then correct the network deficiency
(cable not connected, DHCP not working, Internet down), and reboot until you see an IP
address assigned to your server. DO NOT PROCEED WITHOUT AN ASSIGNED IP
ADDRESS.
Unless your desktop PC and RasPi are both on the same private LAN, the remainder of the
install procedure should be completed from a desktop PC using SSH or Putty. This will
assure that your desktop PC is also whitelisted in the Incredible PBX firewall. Using the
console to complete the install is NOT recommended as your desktop PC will not be
whitelisted in the firewall. This may result in your not being able to log in to your server.
Once you have network connectivity, log in to your server as root from a desktop PC using the
default password: password. Accept the license agreement by pressing ENTER. You then will
be redirected to raspi-config. This is the utility used to expand your Incredible PBX 2020
image to use your entire microSD card; however, this new build does this for you so you can
skip this step. Next, choose Localization Options and set Locale, TimeZone, Keyboard, &
WiFi Country. Review the other items and then exit and reboot.
Once your server reboots and you log back in as root, you’ll first be prompted to enter an
email address for delivery of incoming faxes in PDF format. All of your passwords then will
be randomly assigned with the exception of the root user Linux password and your admin
passwords for access to the web GUI and AvantFax. You can set the root password by issuing
the command: passwd . Set the admin password for access to the web GUI with this
command: /root/admin-pw-change . Set the admin password for access to AvantFax with
this command: /root/avantfax-pw-change . With the exception of these passwords, the
remaining passwords can be displayed using the command: /root/show-passwords .
Finally, if your PBX is sitting behind a NAT-based router, you’ll need to redirect incoming
UDP 5060-5061 and UDP 10000-20000 traffic to the private IP address of your RasPi. This
is required for all of the SIP providers included in the Incredible PBX 2020 build. Otherwise,
all inbound calls will fail.
5/20
Configuring Skyetel for Incredible PBX 2020
If you’ve decided to go with Skyetel, here’s the drill. Sign up for Skyetel service and take
advantage of the Nerd Vittles Free $10 credit and BOGO special. First, complete the
Prequalification Form here. You then will be provided a link to the Skyetel site to complete
your registration. Once you have registered on the Skyetel site and your account has been
activated, open a support ticket and request the $10 credit for your account by referencing
the Nerd Vittles special offer. Once you are happy with the service, open another ticket after
funding your account and request that Skyetel match your deposit of up to $250. That gets
you up to $500 of helf-price calling. Credit is limited to one per
person/company/address/location. If you have numbers to port in, you can do it at no cost
after funding your account.
Skyetel does not use SIP registrations to make connections to your PBX. Instead, Skyetel
utilizes Endpoint Groups to identify which servers can communicate with the Skyetel
service. An Endpoint Group consists of a Name, an IP address, a UDP or TCP port for the
connection, and a numerical Priority for the group. For incoming calls destined to your PBX,
DIDs are associated with an Endpoint Group to route the calls to your PBX. For outgoing
calls from your PBX, a matching Endpoint Group is required to authorize outbound calls
through the Skyetel network. Thus, the first step in configuring the Skyetel side for use with
your PBX is to set up an Endpoint Group. Here’s a typical setup for Incredible PBX 2020:
Name: MyPBX
Priority: 1
IP Address: PBX-Public-IP-Address
Port: 5060
Protocol: UDP
6/20
Description: 2020.incrediblepbx.com
To receive incoming PSTN calls, you’ll need at least one DID. On the Skyetel site, you acquire
DIDs under the Phone Numbers tab. You have the option of Porting in Existing
Numbers (free for the first 60 days after you fund your account) or purchasing new ones
under the Buy Phone Numbers menu option.
Once you have acquired one or more DIDs, navigate to the Local Numbers or Toll Free
Numbers tab and specify the desired SIP Format and Endpoint Group for each DID.
Add SMS/MMS and E911 support, if desired. Call Forwarding and Failover are also
supported. That completes the VoIP setup on the Skyetel side. System Status is always
available here.
To sign up for VoIP.ms service, may we suggest you use our signup link so that Nerd Vittles
gets a referral credit for your signup. Once your account is set up, you’ll need to set up a SIP
SubAccount and, for Authentication Type, choose Static IP Authentication and enter your
Incredible PBX 2020 server’s public IP address. For Transport, choose UDP. For Device
Type, choose Asterisk, IP PBX, Gateway or VoIP Switch. Order a DID in their web panel, and
then point the DID to the SubAccount you just created. Be sure to specify atlanta1.voip.ms
as the POP from which to receive incoming calls. On the Incredible PBX side, simply Enable
the VoIPms trunk and save your update.
7/20
IP address of your server. Set an appropriate rate cap. We like $0.01 per minute to be safe.
Set a concurrent calls limit. We like 2. For the Call Routing Method, choose Least Cost unless
you’re feeling extravagant. For Routes/Carriers, choose Standard Routes. Write down your
Dialing Prefix and then click the Save button. On the Incredible PBX side, simply Enable the
AnveoDirect trunks and save your updates.
Before you can make outbound calls through Anveo Direct from your PBX, you first must
configure the Dialing Prefix that you wrote down in the previous step. Using a browser, login
to the GUI as admin. Navigate to Connectivity -> Trunks -> Anveo-Out. Click the Pencil icon
to edit the trunk settings. Then click the Custom Settings tab. Replace anveo-pin with your
actual Anveo PIN. Click Submit and Apply Settings to save your changes.
By default, incoming Anveo Direct calls will be processed by the Default inbound route on
your PBX. If you wish to redirect incoming Anveo Direct calls using DID-specific inbound
routes, then you’ve got a bit more work to do. In addition to creating the inbound route using
the 11-digit Anveo Direct DID, enter the following commands after logging into your server as
root using SSH/Putty:
cd /etc/asterisk
echo "[from-anveo]" >> extensions_custom.conf
echo "exten => _.,1,Ringing" >> extensions_custom.conf
echo "exten => _.,n,Goto(from-trunk,\\${SIP_HEADER(X-anveo-e164)},1)" >>
extensions_custom.conf
asterisk -rx "dialplan reload"
Shown below are the two components that make up the 256GB storage solution for the
Raspberry Pi. These include the M.2 SSD SATA drive and the M.2 enclosure which provides a
USB connector that’s compatible with your RasPi. Assembly of the components takes less
than a minute as shown in the steps below:
8/20
You can order the M.2 SSD SATA drive and the UGREEN M.2 enclosure using our Amazon
referral links which help support Nerd Vittles and the Incredible PBX open source project.
Once you have assembled your SSD in the sleeve, log back in as root using SSH or Putty. For
best performance, insert the SSD drive into one of the blue USB 3.0 ports and verify that
/dev/sda device is shown when you issue the command: fdisk -l
Now proceed with the following steps to copy the image from your microSD card to the new
SSD SATA drive:
9/20
Now you’re ready to restart your Raspberry Pi from the SSD SATA drive. Remove the
microSD card and reboot your server.
We recommend YateClient which is free. Download it from here. Run YateClient once you’ve
installed it and enter the credentials for the 701 extension on Incredible PBX. You can find
them by running /root/show-passwords . You’ll need the IP address of your server plus
your extension 701 password. In the YateClient, fill in the blanks using the IP address of your
Server, 701 for your Username, and whatever Password was assigned to the extension
when you installed Incredible PBX. Click OK to save your entries.
10/20
Once you are registered to extension 701, close the Account window. Then click on YATE’s
Telephony Tab and place some test calls to the numerous apps that are preconfigured on
Incredible PBX. Dial a few of these to get started:
If you are a Mac user, another great no-frills softphone is Telephone. Just download and
install it from the Mac App Store.
11/20
Gmail AcctName and AcctPW. NOTE: If you are using a Gmail account with 2-step
verification enabled, you MUST use a Gmail App Key instead of your Gmail account
password. You also must enable Less Secure Apps access to your Gmail account.
smtp.gmail.com:[email protected]:AcctPW
Save the file and then issue the following commands to complete the setup:
update-exim4.conf
systemctl restart exim4
exim4 -qff
Now send yourself a test email message to make sure things are working properly:
Once you have email messages flowing, incoming faxes automatically will be delivered to the
email address you assigned when setting up your PBX. You can change this email address
with the command: avantfax-email-change.
Some prefer an email notification whenever your server is booted. Once you have configured
a relay host above, you can add the feature by editing /etc/rc.local and adding the following
lines with your actual email address just above the service knockd start line:
Not all VoIP trunks support fax transmission, e.g. Vitelity. Assuming yours do and you’ll only
know by trial and error, here’s how to configure FreePBX to automatically detect incoming
faxes and process them for PDF delivery by email. The default inbound route is
preconfigured to support email delivery of your faxes. So, any trunks using that default route
require no further configuration. If you add additional Inbound Routes, here’s how to enable
fax detection on those routes.
Under the Fax tab of each new Inbound Route, enter the following settings:
12/20
Managing Faxes with AvantFax
You can manage your incoming and outgoing faxes using AvantFax. Click on the AvantFax
tab in FreePBX to access it. The default credentials are admin:password. When you first
access AvantFax with a browser, you may get a missing page error. Just press the back arrow
key in your browser and the AvantFax main page will appear.
If you want to change the admin password for AvantFax, log into your server as root with
SSH/Putty and issue the command: /root/avantfax-pw-change.
13/20
14/20
Building the Incredible PBX Stealth AutoAttendant
Many users prefer to play an announcement to incoming callers with a brief pause thereafter
which indicates that the call is being connected. If configured properly, this lets you embed
several dial codes which can be entered while the announcement is playing and the call is
being transferred. For example, you might wish to route incoming calls to Lenny if a caller
presses 0. Or you might wish to immediately route an incoming call to a Ring Group if the
caller presses 1. Here’s a sample IVR setup to get you started.
15/20
Incredible PBX 2020 Administration
We’ve eased the pain of administering your new PBX with a collection of scripts which you
will find in the /root folder after logging in with SSH or Putty. Here’s a quick summary of
what each of the scripts does.
admin-pw-change lets you update the admin password for web browser access to the
Incredible PBX GUI.
apache-pw-change lets you update the admin password for Apache applications such as
AsteriDex and Reminders.
avantfax-pw-change lets you update the root password for AvantFax access (coming
soon!).
16/20
add-fqdn is used to whitelist a fully-qualified domain name in the firewall. Because
Incredible PBX 2020 blocks all traffic from IP addresses that are not whitelisted, this is what
you use to authorize an external user for your PBX. The advantage of an FQDN is that you
can use a dynamic DNS service to automatically update the IP address associated with an
FQDN so that you never lose connectivity.
add-ip is used to whitelist a public IP address in the firewall. See the add-fqdn explanation
as to why this matters.
configure-exim-email lets you reconfigure the email server if you need to use an SMTP
relay such as Google to get outbound email flowing. Tutorial here.
iptables-restart is the ONLY command you should ever use to restart the IPtables firewall
and Fail2Ban.
knock.FAQ contains your PortKnocker credentials for emergency access to your server if
the firewall locks you out. Tutorial here.
proximity (once configured) will automatically forward calls to your cellphone when you
are out of BlueTooth range from your RasPi. Also must enable running of script in
/etc/crontab.
reset-conference-pins is a script that automatically and randomly resets the user and
admin pins for access to the preconfigured conferencing application. Dial C-O-N-F from any
registered SIP phone to connect to the conference.
reset-reminders-pin is a script that automatically and randomly resets the pin required to
access the Telephone Reminders application by dialing 123. It’s important to protect this
application because a nefarious user could set up a reminder to call a number anywhere in
the world assuming your SIP provider’s account was configured to allow such calls.
17/20
rpi-clone is a utility that makes it easy to make a bootable image of the microSD card used
to start your Raspberry Pi. You’ll need a USB-to-microSD adapter to begin. Insert a backup
microSD card large enough to hold all of the data on the primary microSD card (df -h). Insert
the USB stick with the card. Identify the backup microSD card, usually sda (fdisk -l). Format
the backup microSD card: mkfs.vfat /dev/sda1 && mkfs.ext4 /dev/sda2 . Then issue
the following command to clone the primary microSD card: rpi-clone -f sda. Tutorial here.
show-feature-codes is a cheat sheet for all of the feature codes which can be dialed from
any registered SIP phone. It documents how powerful a platform Incredible PBX 2020
actually is. A similar listing is available in the GUI at Admin -> Feature Codes.
show-passwords is a script that displays ALL of the passwords associated with Incredible
PBX 2020. This includes SIP extension passwords, voicemail pins, conference pins,
telephone reminders pin, and your Anveo Direct outbound calling pin (if configured). Note
that voicemail pins are configured by the user of a SIP extension the first time the user
accesses the voicemail system by dialing *97.
timezone-setup lets you reconfigure the correct time zone for your server.
purge-cdr-cel-records cleans out all existing entries in both the CDR and CEL tables of
the Asterisk CDR database.
18/20
readme-RonR.txt documents the scripts provided from RonR build. We do NOT
recommend using the FCC Blacklist because of its current size.
update-asterisk16 is a utility that updates Asterisk 16 to the latest release. This should only
be necessary when a security issue or bug is identified that affects the operation of your PBX.
update-IncrediblePBX is the Automatic Update Utility which checks for server updates
from incrediblepbx.com every time you log into your server as root using SSH or Putty. Do
NOT disable it as it is used to load important fixes and security updates when necessary. We
recommend logging into your server at least once a week.
pbxstatus (shown above) displays status of all major components of Incredible PBX 2020.
Forwarding Calls to Your Cellphone. Keep in mind that inbound calls to your DIDs
automatically ring all five SIP extensions, 701-705. The easiest way to also ring your
cellphone is to set one of these five extensions to forward incoming calls to your cellphone.
After logging into your PBX as root, issue the following command to forward calls from
extension 705 to your cellphone: asterisk -rx "database put CF 705 6781234567"
We strongly recommend that you periodically update all of your FreePBX modules to
eliminate bugs and to reduce security vulnerabilities. Make a backup image with rpi-clone
first! From the Linux CLI, log into your server as root and issue the following commands:
fwconsole ma upgradeall
rm -f /tmp/*
fwconsole reload
/root/sig-fix
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP
service on up to $500 of Skyetel trunking with free number porting when you fund your
Skyetel account. No limits on number of simultaneous calls plus quadruple data center
redundancy assures that you’ll never have a failed call. Tutorial and sign up details are here.
19/20
The lynchpins of Incredible PBX 2020 and 2021 are
ClearlyIP components which bring management of
FreePBX modules and SIP phone integration to a level
never before available with any other Asterisk
distribution. And now you can configure and
reconfigure your new Incredible PBX phones from the
convenience of the Incredible PBX GUI.
20/20
Icing on the Cake for Incredible PBX 16-15 and Raspberry
Pi
nerdvittles.com/icing-on-the-cake-with-incredible-pbx-16-15-for-raspberry-pi
In our last article, we introduced Incredible PBX® 16-15 featuring Asterisk® 16 and
FreePBX® 15 on the new Raspberry Pi 4 with Raspbian 10. But we’re just getting started.
Today we want to show off the real power of this $35 on-premise platform with the addition
of IBM’s voice recognition software. Your first 500 minutes a month are free. In conjunction
with Incredible PBX, you’ll get flawless transcription and email delivery of your voicemail
messages plus a voice dialer that lets you call anyone in your AsteriDex phonebook by simply
dialing 411 and saying the name of the person or company you wish to call. We’ve got a few
more surprises plus some tips for the $5.95 Blinkt rainbow light show that will have your
friends drooling with envy. If you haven’t yet installed Incredible PBX 16-15, start there.
1/6
defaults until you get to Outgoing Smarthost prompt. Enter: smtp.gmail.com::587. At the
following prompts, choose NO, NO, mbox, and NO. When the setup completes, edit
/etc/exim4/passwd.client and insert the following line using your Gmail AcctName and
AcctPW. NOTE: If you are using a Gmail account with 2-step verification enabled, you MUST
use a Gmail App Key instead of your Gmail account password.
*.google.com:[email protected]:AcctPW
smtp.gmail.com:[email protected]:AcctPW
Save the file and then issue the following commands to complete the setup:
update-exim4.conf
systemctl restart exim4
exim4 -qff
Now send yourself a test email message to make sure things are working properly:
Some prefer an email notification whenever your server is booted. Once you have configured
a relay host above, you can add this feature by editing /etc/rc.local and adding the following
lines just above the service knockd start line using your actual email address:
Why IBM's speech recognition breakthrough matters for AI and IoT. Via @techrepublic
https://t.co/AJi8MA3E20
Follow this link to set up your IBM account and obtain credentials for both Speech to Text
(STT) and Text to Speech (TTS) services. Please note that your STT and TTS API keys will
NOT be the same. So don’t accidentally use the wrong one. For today, we’ll need your STT
API Key.
2/6
Envelope to YES. After testing things out, you may want to actually Delete Voicemails
after email delivery, but leave it set to NO for the time being. Click Submit and Apply
Config to save your settings.
Next, log into the Linux CLI as root and change to the /usr/local/sbin directory. Then copy
the sendmailmp3.ibm file to sendmailmp3: Then edit sendmailmp3.
cd /usr/local/sbin
cp -p sendmailmp3.ibm sendmailmp3
nano -w sendmailmp3
Scroll down to line #21 and enter your actual API_KEY replacing the X’s inside the quotes.
Save the file: Ctrl-X, Y, then ENTER. Now call extension 701’s voicemail (*701) and leave
yourself a short voicemail message. Within a minute or two, it should be delivered to your
email address that you specified for extension 701 voicemails. It will include the voicemail
recording as well as a transcription.
AsteriDex is an open source database that is included in every Incredible PBX deployment.
You can access it within the web GUI under the Third Party Addon tab. By default, it
includes entries for some of the major airlines. You can create as many additional entries as
you wish. Also included with Incredible PBX is a voice dialer that is accessed by dialing 411.
You’ll be prompted for the name of the person or company to contact. Once you say the
name, the voice dialer will place the call using your default outbound route for 10-digit calls.
The missing piece is voice recognition software to transcribe what you say into text that can
be looked up in AsteriDex to retrieve the number to call. That’s where IBM’s STT engine
enters the picture. To deploy it, start by replacing the 411 context in your dialplan. Then we’ll
edit the getnumber.sh shell script and insert your STT credentials.
cd /var/lib/asterisk/agi-bin
sed -i '\:// BEGIN Call by Name:,\:// END Call by Name:d' \\
/etc/asterisk/extensions_custom.conf
sed -i '/\[from-internal-custom\]/r /var/lib/asterisk/agi-bin/ibm-411.txt' \\
/etc/asterisk/extensions_custom.conf
asterisk -rx "dialplan reload"
nano -w getnumber.sh
Scroll down to line #13 and make it look like this: API_USERNAME="apikey"
On Line #14, enter your actual API_KEY between the quotation marks replacing the X’s.
Then save the file: Ctrl-X, Y, then ENTER.
Now pick up a phone connected to your PBX and dial 411. When prompted for the
person/company to call, say "American Airlines."
3/6
If the idea of instant access to all the world’s information is appealing but you’re not quite
ready to invite Siri, Alexa, and Google into your bedroom, then IRIS may be your cup of tea.
With the Incredible PBX implementation of Wolfram Alpha, you simply dial I-R-I-S (4747)
from any phone, ask a question, and the world’s greatest almanac tied to a supercomputer
will provide you an answer. So long as it’s for non-commercial use, you get 2,000 free queries
a month just by signing up for a Wolfram Alpha account. Here’s a sample of what’s available:
Deploying IRIS is simple. Once you have your Wolfram Alpha APP-ID, edit the 4747 file in
/var/lib/asterisk/agi-bin and insert your APP-ID in the first line of the file. Then save it. In
the same directory, edit wolfram.sh and enter apikey for your API_USERNAME, your
actual IBM STT API key as your API_PASSWORD, and reenter your Wolfram Alpha
APPID. Then save the file. Now dial I-R-I-S (4747) from any phone and ask one of the
sample questions above.
UPDATE: A bug crept into the Wolfram Alpha scripts somewhere along the way. Here’s the
fix, but you don’t need to install it. Simply log out and back into your Raspberry Pi as root,
and the Automatic Update Utility will install it for you.
cd /var/lib/asterisk/agi-bin
sed -i 's|results.chr(13).chr(10);|results.chr(13).chr(10).chr(34);|' 4747.php
4/6
Rather than remembering all of the dial codes we’ve documented above, the easiest way to
get instant access to all the features we’ve discussed plus more is to dial D-E-M-O (3366)
from any phone connected to your PBX. Better yet, you can share the feature set with your
friends by configuring the Demo IVR as the Inbound Route Destination for one of your DIDs.
Be careful sharing your password for Telephone Reminders to avoid having some creep
schedule multiple reminders to make expensive calls to some ship in the middle of nowhere.
If you have deployed the NeoRouter VPN on your server, you’ve probably noticed that the
pbxstatus display looks a bit awkward now since there are multiple local IP addresses. Here’s
the fix. Edit /usr/local/sbin/pbxstatus. Scroll down to line #6 and replace it with the
following. Then save the file.
cp -p /root/rainbow.py /usr/local/sbin/.
echo "asterisk ALL = NOPASSWD: /usr/local/sbin/rainbow.py" >> /etc/sudoers
echo '[app-blacklist-check]
include => app-blacklist-check-custom
exten => s,1(check),GotoIf($["${BLACKLIST()}"="1"]?blacklisted)
exten => s,n,Set(CALLED_BLACKLIST=1)
exten => s,n,System(/usr/bin/sudo /usr/local/sbin/rainbow.py &)
exten => s,n,Return()
exten => s,n(blacklisted),Answer
exten => s,n,Set(BLDEST=${DB(blacklist/dest)})
exten => s,n,ExecIf($["${BLDEST}"=""]?Set(BLDEST=app-blackhole,hangup,1))
exten => s,n,GotoIf($["${returnhere}"="1"]?returnto)
exten => s,n,GotoIf(${LEN(${BLDEST})}?${BLDEST}:app-blackhole,zapateller,1)
exten => s,n(returnto),Return()
;--== end of [app-blacklist-check] ==--;
' >> /etc/asterisk/extensions_override_freepbx.conf
asterisk -rx "dialplan reload"
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP
service on up to $500 of Skyetel trunking with free number porting when you fund your
Skyetel account. No limits on number of simultaneous calls plus quadruple data center
5/6
redundancy assures that you’ll never have a failed call.
Tutorial and sign up details are here.
6/6