Home » Incredible PBX (Page 7)

Category Archives: Incredible PBX

The Most Versatile VoIP Provider: FREE PORTING

$300 Chromebook Faceoff: ARM vs. x86? Which Is Better?

blank

We’ve written about the Chromebook before, but today presents an interesting dilemma. Should you choose an ARM-based Chromebook for a bit better performance or an x86-based Chromebook for application flexibility? This becomes even more interesting when one recalls that Apple is poised to dump Intel processors and move exclusively to the ARM platform for all of its next generation machines. The short answer is it depends upon your use case. Cell phones and tablets traditionally have relied upon ARM processors while desktop computers are almost exclusively based upon either Intel or AMD processors. The Chromebooks fall somewhere in the middle because they can perform traditional web browsing and also run dedicated applications traditionally reserved for desktop computing platforms. So we decided to put two of the least expensive Chromebooks to the test. We managed to grab both the ARM64-based Chromebook (pictured above) and the AMD-based Chromebook (pictured below) for equivalent discounted prices of about $300. The HP Chromebook included a rechargeable pen, detachable keyboard and stand, 11″ touchscreen display, and power adapter while the Acer Chromebook included a mouse, backlit keyboard, convertible 14″ touchscreen display, case, and power adapter. Both weigh about 4 pounds with 8GB RAM and 64GB disk.
blank

We decided to test these Chromebooks by determining how well each could perform as a sales demonstration unit for those in the VoIP business. Suffice it to say, there’s nothing quite like a LIVE showing for a potential customer demonstrating how their future Unified Communications platform would work. And the fact that you can pull this is off with what looks very much like a computer tablet is icing on the cake. Both Chromebooks passed the test with ease although we massaged the Incredible PBX installer a bit to accommodate the ARM64 platform. If you decide to try this out for yourself, we’ve documented the process on the VoIP-Info.org Forum.

Because the Acer Chromebook was AMD-based, the installation process for Incredible PBX was much easier simply because the traditional Incredible PBX installer for Debian 10 runs without a hitch. Begin by opening the Chrome browser to chrome://flags. Enable Chrome extensions. Set Upgrade Crostini to Bullseye to Disabled. Set Debian Version to Buster. And set Allow Resizing Crostini Disks to Enabled. Restart the Chromebook to continue. Then navigate to Settings -> Advanced -> Developers -> Linux Development Environment. Set the Disk Size to 15GB. Then Enable Linux Development Environment. Once your Chromebook is restarted, run Terminal app. PIN it to task bar with Alt-Click.

Issue the following commands to install Incredible PBX for Debian 10:

sudo passwd root
# set a very secure root password
su root
cd ~
apt update
apt upgrade
apt install cron nano -y
wget http://incrediblepbx.com/IncrediblePBX2021.sh
chmod +x IncrediblePBX2021.sh
nano -w /etc/profile

Edit /etc/profile to look like this at the top. Save the file and restart your Chromebook.

blank

Log back into your Chromebook’s Terminal app as root, and issue the following commands:

su root
cd ~
apt update
./IncrediblePBX2021.sh

Here are the remaining steps to configure Incredible PBX:

  • chmod 775 /
  • touch /var/log/auth.log
  • chown asterisk:asterisk /var/log/asterisk/*
  • Add OpenVPN client credentials as /etc/incrediblepbx.ovpn
  • Add gTTS following steps at this link
  • Run /root/enable-gmail-smarthost-for-sendmail using your Gmail app password
  • Remove ssh-block file from /ssh
  • Uncomment port with a port number above 1000 in sshd_config
  • Restart SSH: systemctl restart sshd
  • Remove UCP daemon: fwconsole setting NODEJSENABLED 0
  • fwconsole ma upgradeall
  • fwconsole reload
  • Clear errors, if any, from reload (several times) by doing what the prompts say
  • Run /root/sig-fix twice

So there you have it. A desktop demo machine in a tablet form-factor. Not to come across as an x86 snob, but there still are things we like to do on the Intel and AMD platforms that you simply cannot pull off using an ARM-based computer, at least not yet. At the top of that list is running VirtualBox. Many have tried, but VirtualBox is not an emulator. It’s a virtualization platform which means it runs other x86 applications using the existing x86 platform on which it was installed. Oracle has shown little interest in porting it to ARM processors and, even if it did so, you would only be able to run other ARM applications. As you also probably noticed, unless you find a really good sale, ARM-based Chromebooks are about $100 more expensive than their x86 competitors. So our tip of the hat goes to Acer Chromebook this time around.

If you’d like to put your name in the hat for one of our Chromebook test units, post a meaningful comment to this article and include your email address which won’t be published. The comment must be posted before the last day of July, 2022. We’ll publish the winner when we randomly make a selection in August, 2022. The winner will also be notified by email using the address included with your comment. Here’s the not-so-fine print:

NO PURCHASE IS NECESSARY IN ORDER TO WIN, AND YOU MAY ONLY SUBMIT A SINGLE COMMENT PER HOUSEHOLD. YOU MUST BE 18 YEARS OF AGE OR OLDER ON THE DATE OF ENTRY, AND YOU MUST BE A LEGAL RESIDENT OF ONE OF THE 50 STATES OF THE UNITED STATES OR THE DISTRICT OF COLUMBIA. THE CONTEST IS SUBJECT TO ALL FEDERAL, STATE, AND LOCAL LAWS AND REGULATIONS. IF YOUR JURISDICTION BANS PARTICIPATION IN FREE CONTESTS, YOU ARE DISQUALIFIED AND MAY NOT ENTER THE CONTEST. BY PARTICIPATING IN THIS CONTEST, YOU AGREE TO BE BOUND BY THE CONTEST RULES AND AGREE TO BE BOUND BY THE DECISIONS OF NERD VITTLES, THE SPONSOR, WHICH ARE FINAL. THE WINNER MUST PROVE COMPLIANCE WITH THESE TERMS AND CONDITIONS BEFORE THE PRIZE IS DISTRIBUTED, AND THE WINNER MUST PROVIDE A PHOTOCOPY OF A VALID U.S. DRIVER'S LICENSE OR OFFICIAL STATE PHOTO ID WITH YOUR ACTUAL MAILING ADDRESS. WINNER WILL BE DISQUALIFIED IF PROOF OF COMPLIANCE IS NOT RECEIVED WITHIN 10 DAYS OF EMAIL TRANSMISSION ANNOUNCING THE WINNER. IN SUCH CASE, AN ALTERNATE WINNER WILL BE RANDOMLY SELECTED UNDER THE SAME TERMS AND CONDITIONS. IF THE ALTERNATE WINNER IS SUBSEQUENTLY DISQUALIFIED, THE PRIZE WILL REMAIN UN-AWARDED. IN THE EVENT THE CONTEST IS IMPAIRED IN ANY WAY FOR ANY REASON AS DETERMINED BY THE SPONSOR IN ITS SOLE DISCRETION, THE SPONSOR MAY TERMINATE CONTEST WITHOUT AWARDING THE PRIZE. 

BY PARTICIPATING IN THE CONTEST, YOU AGREE TO RELEASE AND HOLD HARMLESS NERD VITTLES, WARD MUNDY & ASSOCIATES LLC, AND WARD MUNDY FROM ANY AND ALL CLAIMS AND CAUSES OF ACTION ARISING OUT OF PARTICIPATION IN THE CONTEST OR AWARD TO THE WINNER. ANY CLAIM MUST BE FILED INDIVIDUALLY WITH A WAIVER OF CLASS ACTION STATUS IN THE U.S. DISTRICT COURT FOR THE NORTHERN DISTRICT OF FLORIDA. CLAIMANT FURTHER AGREES TO COVER ALL LEGAL AND COURT COSTS OF THE DEFENDANT IN ADDITION TO CLAIMANT'S OWN LEGAL EXPENSES. ALL QUESTIONS OF LAW SHALL BE RESOLVED IN ACCORDANCE WITH THE LAWS OF THE STATE OF FLORIDA. IN THE EVENT CLAIMANT PREVAILS AT TRIAL AND AS A CONDITION FOR ENTRY INTO THE CONTEST, PLAINTIFF AGREES TO ACCEPT NO MORE THAN $1 AS THE ACTUAL AND PUNITIVE DAMAGE AWARD.

Originally published: Monday, June 27, 2022


blank
Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

blankBOGO 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. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

blankThe lynchpin of Incredible PBX 2020 and beyond is 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.

blankVitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

blankSpecial Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 



blank

Introducing Incredible PBX 2022 for the Raspberry Pi

blank

It’s been a year and a half since our last Incredible PBX® release for the Raspberry Pi platform, and the RasPi enhancements just keep coming. The latest RasPi 4 supports dual 4K monitors, two USB 2.0 ports, two USB 3.0 ports, gigabit Ethernet, a USB-C power supply, a Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC running at 1.5GHz, and POE connectivity with the addition of the POE Hat. You can read all about it here. Incredible PBX 2022 supports the latest RasPi boards and keyboard and is backwards compatible.

UPDATE: Download the latest Incredible PBX 2027 image and tutorial for RasPi here.

We’ve preserved the Raspbian 10 platform in this build because the Debian 11 release has broken free faxing, at least for the short term. This build features Asterisk® 16 or 18 with the latest FreePBX® 15 GPL modules plus the feature set you know and love. We’ve added PJSIP support for Skyetel and the new gTTS release for terrific text-to-speech applications including our News Headlines (951) and Weather Forecasts by ZIP Code (947). It’s all rolled into one terrific bundle that can be installed in about a minute after you download the image from our repo and follow the instructions from the readme file.

Unlike other aggregations, there’s nothing to compile with Incredible PBX/FAX 2022 for Raspbian. 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 2022 offers a snapshot image with a complete toolkit to make future modifications as desired. And, of course, Incredible PBX/Fax 2022 features the ClearlyIP module repository which protects you from proprietary modifications that limit or cripple your PBX moving forward.

What’s Included? Incredible PBX/Fax 2022 serves up a never before available VoIP powerhouse featuring Asterisk 16 or 18 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, PJSIP, SMS, voice recognition, AsteriDex, gTTS 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 Email Delivery of transcribed voicemails, AutoAttendants, 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 our 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.

Choosing a SIP Provider. As we mentioned, Incredible PBX/Fax 2022 comes preconfigured to support many of the major SIP providers including those that financially support Nerd Vittles and our open source projects: ClearlyIP, Skyetel, and VoIP.ms. As the old saying goes, they may not be the cheapest, but you get what you pay for. With all our providers, you only pay for minutes you use so signing up with more than one provider is a smart idea. For the full list of supported VoIP providers, visit the Incredible PBX Wiki.

blank>

Assembling the Required Raspberry Pi Components

Before you can deploy Incredible PBX 2022, you’ll first need the necessary Raspberry Pi hardware. To support the enhanced Incredible PBX/Fax platform, we strongly recommend either the Raspberry Pi 400 or the Raspberry Pi 4B with at least 2GB RAM for under $42. 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)…

  • Raspberry Pi 4B or Raspberry Pi 400
  • $8 USB-C RasPi 4 (only) Power Supply
  • $11 32GB microSDHC Class 10 card (strongly recommended!)
  • $5 Official RasPi 4B Case or see above for our favorite
  • Getting Started with Incredible PBX 2022

    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 2022.6 image from SourceForge
    2. Transfer Incredible PBX/FAX 2022 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 2022
    10. Set up and test your Exim mail server as documented below

    ALERT: Reportedly, the latest Raspberry Pi 4 board will not boot with earlier Incredible PBX images. Today’s updated image solves that, but you may wish to simply move your existing build to the latest RasPi hardware and preserve your data. If you have an older (working) Raspberry Pi, simply issue the following commands on the old platform. Following shutdown, insert the new microSD card into your new RasPi 4.

    apt update
    apt dist-upgrade
    halt
    

    First Boot of Incredible PBX 2022 with Wi-Fi

    Incredible PBX 2022 requires Internet connectivity to complete its automated install. If you’re using a wired network connection, you can skip to the next section. With the Raspberry Pi 3B, 4B and 400, WiFi is built into the hardware. But you still have to insert your SSID name and SSID password to make a connection to your WiFi network. To do so, follow these next steps carefully. Insert the Incredible PBX 2022 microSD card into your Raspberry Pi and apply power to the hardware. When the bootup procedure finishes, login as root with the default password: password. At the first prompt, DO NOT PRESS THE ENTER KEY! Instead, press Ctrl-C to break out of the setup script. At the command prompt, issue the following commands to bring up the WiFi config file:

    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.

    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:

    sed -i 's|eth0|wlan0|' /etc/default/knockd
    service knockd restart
    

     

    First Boot of Incredible PBX Using Wired Connection

    Incredible PBX 2022 requires Internet connectivity to complete its automated install. After connecting your server to your local network with a network cable, insert the Incredible PBX 2022 microSD card into your Raspberry Pi and apply power to the hardware. When the 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.

    Completing the Incredible PBX Initialization Procedure

    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 2022 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 2022 build. Otherwise, all inbound calls will fail.

    blank

    Configuring Skyetel for Incredible PBX 2022

    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. Effective 10/1/2023, $25/month minimum spend required.

    Skyetel typically does not require 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 2022:

    • Name: MyPBX
    • Priority: 1
    • IP Address: PBX-Public-IP-Address
    • Port: 5061
    • Protocol: UDP
    • Description: 2022.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.

    Configuring VoIP.ms for Incredible PBX 2022

    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 2022 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.

    Adding a Bootable SSD to Raspberry Pi

    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:


    blank

    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:

    rpi-clone -l -e sda -f sda
    # answer prompts with yes and incred2022
    # once the image is copied, dismount the drive when prompted
    mount /dev/sda2 /mnt/clone
    cd /mnt/clone/boot
    cp -p -r /boot/* .
    sed -i 's|sda2|mmcblk0p2|' /boot/cmdline.txt
    cd /
    umount /mnt/clone
    halt
    

     
    Now you’re ready to restart your Raspberry Pi from the SSD SATA drive. Remove the microSD card and reboot your server.


    blank

    Configuring a Softphone for Incredible PBX 2022

    We’re in the home stretch now. You can connect virtually any kind of telephone to your new PBX. Plain Old Phones require an analog telephone adapter (ATA) which can be a separate board in your computer from a company such as Digium. Or it can be a standalone SIP device such as ObiHai’s OBi100 or OBi110 (if you have a phone line from Ma Bell to hook up as well). SIP phones can be connected directly so long as they have an IP address. These could be hardware devices or software devices such as the YateClient softphone. We’ll start with a free one today so you can begin making calls. You can find dozens of recommendations for hardware-based SIP phones both on Nerd Vittles and the PIAF Forum when you’re ready to get serious about VoIP telephony.

    We recommend YateClient for Windows 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.

    blank

    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:

    DEMO - Apps Demo
    123 - Reminders
    947 - Weather by ZIP Code
    951 - Yahoo News
    TODAY - Today in History
    LENNY - The Telemarketer's Worst Nightmare
    

    If you are a Mac user, another great no-frills softphone is Telephone. Just download and install it from the Mac App Store.

    Audio Issues with Incredible PBX 2022

    Only if you experience one-way or no audio on some calls, add your external IP address and LAN subnet in the GUI by navigating to Settings -> Asterisk SIP Settings. In the NAT Settings section, click Detect Network Settings. Click Submit and Apply Settings to save your changes.

    Configuring Gmail as Exim Smart Relay Host

    Most Raspberry Pi implementations will be on networks managed by companies like Comcast, Spectrum, and AT&T that block downstream mail servers (that’s you) from sending email. The solution is to use Gmail or your local ISP as a smart relay host to send mail from your server. You’ll need this to deliver voicemails via email. Here’s how to set it up using a Gmail account without two-step authentication. Log into your server as root and run dpkg-reconfigure exim4-config. Choose "mail sent by smarthost; received via SMTP or fetchmail." Accept all the 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: Because insecure Gmail access is going away, you MUST use a Gmail App Password instead of your Gmail account password.

    smtp.gmail.com:AcctName@gmail.com: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:

    echo "test" | mail -s testmessage yourname@yourmailprovider.com
    

    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.

    Fixing Corrupted rc.local File & More

    Some prefer an email notification whenever your server is booted. Also fixes the corrupted rc.local file. Once you have configured a relay host above, you can add the feature by editing /etc/rc.local and making the file look like this replacing name@domain.com with your actual email address:

    #!/bin/sh -e
    
    # Print the IP address
    _IP=$(hostname -I) || true
    if [ "$_IP" ]; then
      printf "My IP address is %s\n" "$_IP"
    fi
    
    _PRIVATE="Private IP: `cat /etc/hostip | cut -f1-2 -d " "`"
    _PUBLIC="Public: $(dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | sed 's|"||g')"
    echo "$_PRIVATE   $_PUBLIC" | mail -s "Incredible PBX 2022.6 has booted" name@domain.com
    
    sleep 5
    
    service knockd start
    sleep 30
    chmod -R 777 /var/www/html/avantfax
    exit 0
    

    Configuring Inbound Routes for Fax Detection

    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:

    Detect Faxes: YES
    Fax Detection Type: SIP
    Fax Ring: YES
    Fax Detect Time: 4
    Fax Destination: Custom Destinations -> Fax (Hylafax)
    


    blank

    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.

    Send yourself a fax at no cost in the United States from FaxZero.

    Building the Incredible PBX Demo IVR

    If you’d like to try your hand at building an IVR, here are the steps to build the Incredible PBX Demo IVR. From the FreePBX Dashboard, choose Applications -> IVR -> Add IVR. Then fill in the template using the entries shown below. Then click Submit and Reload Dialplan.

    blank
    blank

    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.

    blank

    Incredible PBX 2022 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!).

    add-fqdn is used to whitelist a fully-qualified domain name in the firewall. Because Incredible PBX 2022 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.

    del-acct is used to remove an IP address or FQDN from the firewall’s whitelist.

    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-extension-passwords is a script that automatically and randomly resets ALL of the SIP passwords for extensions 701-705. Be careful using this one, or you may disable existing registered phones and cause Fail2Ban to blacklist the IP addresses of those users. HINT: You can place a call to the Ring Group associated with all five extensions by dialing 777.

    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.

    blank

    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 2022 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 2022. 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.

    log-cleanup removes all entries from most of the logs in /var/log.

    sig-fix disables module signature checking in FreePBX. It is automatically disabled upon installation.

    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 2022.

    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"

    To remove call forwarding: asterisk -rx "database del CF 705"

    Keeping FreePBX 15 Modules Current

    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:

    rm -f /tmp/*
    fwconsole ma upgradeall
    fwconsole reload
    /root/sig-fix
    systemctl restart apache2
    /root/sig-fix
    

    Upgrading Asterisk 16 to Asterisk 18

    For those that enjoy living on the bleeding edge, we’ve create a script which makes it easy to upgrade Incredible PBX 2022 to Asterisk 18. The tutorial is available on the new Incredible PBX Wiki along with dozens of other tutorials.

    Resolving an Expired Certificate Alert

    1. Navigate to Admin -> Certificate Management in the FreePBX GUI
    2. Click the Trashcan to delete the Self-Signed Certificate
    3. Click New Certificate -> Generate Self-Signed Certificate
    4. In the Description field, type: Default
    5. Click Generate Certificate button

    Continue Reading: Icing on the Cake for Incredible PBX and Raspberry Pi

    Now Available: Amazon’s Polly TTS for Incredible PBX. Works great on the RasPi platform!

    Originally published: Tuesday, March 24, 2022  Updated: Monday, February 22, 2021


    blank
    Need help with Asterisk? Visit the VoIP-info Forum.


     

    Special Thanks to Our Generous Sponsors


    FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

    blankBOGO 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. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

    blankThe lynchpin of Incredible PBX 2020 and beyond is 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.

    blankVitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
     

    blankSpecial Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
     



    blank

    Oracle Cloud: Grab a Free Incredible PBX Cloud Server for Life

    blank

    It’s not every day that you get an opportunity to deploy an Incredible PBX® server on a cloud platform as robust as the one offered by Oracle®. And the fact that it won’t cost you a dime EVER makes this all the more appealing. This isn’t some bargain basement, crippled cloud platform with barely enough horsepower to get your server booted. Quite the contrary. This is an ARM-based Ubuntu 20.04 platform with 6GB of RAM, 45+ GB of storage, and a 1GB network pipe. The CPU capacity is equivalent to multiple physical cores of an Intel Xeon processor with hyper threading enabled. The word you’re looking for is WOW! Our further testing suggests that, by deploying 1 OCPU instances, you can actually create 4 separate servers in your free allocation from Oracle. So let’s jump right in and get your new server up and running.

    Getting Started with Oracle Cloud

    For openers, you’ll need to set yourself up with a free Oracle Cloud account here. You can read all about Oracle’s Free Tier, and today we’ll be setting up an Always Free Ampere A1 Compute Resource which never expires. It provides 3,000 OCPU hours and 18,000 GB hours per month for free for VM instances using the VM.Standard.A1.Flex shape. For Always Free tenancies, this is equivalent to 4 OCPUs and 24 GB of memory. Translation: You can build an Asterisk® server to handle thousands of users with this platform. In fact, you can now build FOUR of them.

    Once you’ve set up your account and accessed the Oracle Cloud Dashboard, click on the 3-bar Options Menu in the upper left column. You’ll be using two key options in the menus: Compute -> Instances and Networking -> Virtual Cloud Networks. We recommend you click the PIN icon on both of these so that they become available on your Home dashboard.

    blank

    To begin, navigate to Identity -> Compartments and create a new incrediblepbx compartment. Then navigate to Compute -> Instances and click the Create Instance button. Accept the default Name and choose incrediblepbx as your Compartment. In the Image and shape section, click Edit. In the Image and Shape dialog, click the Change Image button and choose the Canonical Ubuntu 20.04 option. CAUTION: 22.04 is now the default so make sure you change it to 20.04 Image with the latest 20.04 Build Date! Next, click the Change Shape button and choose Virtual Machine, Ampere, check VM.Standard.A1.Flex) and select 1 OCPU with 6GB of RAM. In the Networking section, click Edit. Choose Public Subnet, Use network security groups to control traffic: No, Assign a public IPv4 address: Yes, and DNS record: Yes. Finally, in the Add SSH Keys section, leave the Generate a key pair for me option selected, and click Save Private Key then Save Public Key to download both keys to your desktop. Click Upload public key files (.pub) button and upload the Public Key you just downloaded into your instance. Finally, click the Create button to create your new instance. Once your instance is up and running, click on Public Subnet under Primary VNIC. In the Default Security List option, add Ingress and Egress Rules with an entry for Stateless=No, Source=0.0.0.0/0, IP Protocol=ALL, Source & Destination Port Range=ALL. In addition, add Ingress rules for UDP 5060:5069 and UDP 10000:20000. While appearing to be redundant, the UDP rules reportedly have been necessary to make and receive calls successfully.

    blank

    Now copy the public IP address of your server which, together with your private key, you’ll need to login. From a Terminal window on your desktop PC, login to your server using the following commands where ssh-key-2022-05-24.key is the filename of your private key and 159.201.201.173 is the public IP address of your instance:

    chmod 0600 ssh-key-2022-05-24.key
    ssh -i ssh-key-2022-05-24.key ubuntu@159.201.201.173
    

    Once you’re logged in, let’s configure the root account which you will need to install Incredible PBX. Begin by setting up a very secure password for root.

    sudo passwd root
    su root
    cd ~
    wget http://incrediblepbx.com/IncrediblePBX2021-Oracle.sh
    chmod +x IncrediblePBX2021-Oracle.sh
    ./IncrediblePBX2021-Oracle.sh
    

    We think you will find the performance is second to none. Here are our 1-OCPU results which far exceed the performance specs you’ll find at Vultr, Digital Ocean, or OVH on their 1-2 GB RAM platforms.

    blank

    This is not a trivial install procedure so go have a long cup of coffee and return in about 40 minutes to press the ENTER key to kick off the Automatic Update Utility. Once that begins, you’ll need to press ENTER again in about 5 minutes when the updates are completed. Then your install will continue for a couple minutes when you will be prompted to press ENTER to reboot. Do so and you’re all set.

    Managing Incredible PBX in the Oracle Cloud

    All of the usual Incredible PBX features are available in the Oracle Cloud release. After rebooting, you now can login to your server as root using your root password. Be sure to login periodically so that the Automatic Update Utility is run to keep your server secure.

    ssh -i ssh-key-2022-xx-xx.key ubuntu@public-IP-address
    su root
    cd ~
    ./update-IncrediblePBX
    

    blank

    It’s also good practice to keep the FreePBX GPL modules up to date. Here’s how after logging in:

    rm -f /tmp/*
    fwconsole ma upgradeall
    fwconsole reload
    fwconsole restart
    ./sig-fix
    ./sig-fix
    

    And don’t forget to…

    Set your admin password for FreePBX GUI access: ./admin-pw-change

    Set your admin password for Apache app access: ./apache-pw-change

    Set your proper timezone: ./timezone-setup

    Configure SendMail relay host: ./enable-gmail-smarthost-for-sendmail

    Whitelist your IP addresses for access: ./add-ip and ./add-fqdn

    Make a Backup and copy it off-site: ./incrediblebackup2021

    Using Text-to-Speech Apps in the Oracle Cloud

    Because the Oracle platform is ARM-based and most of the text-to-speech (TTS) apps are not, finding a TTS solution that actually worked was a challenge. But thanks to a tip from Dick Ollett, we’ve found a reliable alternative to PicoTTS. gTTS was easy to deploy with our existing applications and has restored the functionality of the Weather by ZIP Code (947) and News Headlines (951) applications using Incredible PBX on the Oracle Cloud platform.

    Activating IBM Text-to-Speech for Oracle Cloud

    IBM’s TTS offering still works reliably and, if you sign up for their LITE Pricing Plan, the first 10,000 characters per month are free. To get started, follow along in our previous IBM tutorial to sign up for service and the LITE TTS Pricing Plan which you will find by clicking on the Catalog tab in the toolbar, then choosing AI/Machine Learning, and then Text to Speech. Choose the Lite plan and make note of your API Key and access URL for the region you selected.

    Next, log into your server as root and issue the following commands:

    cd /var/lib/asterisk/agi-bin
    wget http://incrediblepbx.com/ibmtts.tar.gz
    tar zxvf ibmtts.tar.gz
    rm -f ibmtts.tar.gz
    ./install-ibmtts-dialplan.sh
    

    Finally, edit /var/lib/asterisk/agi-bin/ibmtts.php and insert your API Key and URL in the spaces provided. Then save the file.

    Activating Amazon’s Polly TTS for Oracle Cloud

    If you’d prefer to use Amazon’s Polly TTS, its pricing is incredibly reasonable, and the quality is second to none. For your first year of service, 5 million TTS characters a month are free. After that, the standard TTS cost is $4 per million characters per month prorated to actual usage. For example, with 300 TTS requests a month of 500 characters each, the monthly cost would be 60¢. We’ve previously documented the Polly TTS setup for Incredible PBX 2021 so you can follow that tutorial to deploy Polly TTS with Incredible PBX in the Oracle Cloud.

    Using either service, you now should be able to obtain Weather Reports by ZIP Code by dialing 947 from any extension registered to your PBX. Get the latest News Headlines by dialing 951.

    Deploying PicoTTS in the Oracle Cloud

    Because Oracle Cloud runs on the ARM64 architecture, you’ll need the ARM64 version of PicoTTS:

    cd /root
    rm -f libttspico*
    wget http://incrediblepbx.com/picotts-arm64.tar.gz
    tar zxvf picotts-arm64.tar.gz
    rm -f picotts-arm64.tar.gz
    dpkg -i libttspico*
    

    Activating OpenVPN Virtual Private Network

    The OpenVPN Client software comes preinstalled with Incredible PBX. In order to activate OpenVPN, you simply need to copy your OpenVPN credentials to the server as /etc/incrediblepbx2021.ovpn. Then reboot. Your OpenVPN IP address will be shown in pbxstatus. For an overview of the OpenVPN setup procedure, read our original OpenVPN article. Then follow the simple steps on the Incredible PBX Wiki for OpenVPN Server and OpenVPN Client installs.

    NOTE: Because of Oracle’s security zone policies, connecting extensions to your PBX using the public IP address may result in no audio on calls with some SIP clients. By connecting using the OpenVPN private IP address solves the problem in some cases.

    Getting Started with Incredible Fax 2021

    Believe it or not, there still are lots of folks that use faxes in their everyday lives. If you’re one of them, Incredible PBX has your back. Begin by logging into your server as root and running ./incrediblefax2021-ubuntu20.04.sh to install HylaFax and AvantFax on your server. You’ll be prompted a dozen or more times for information. Answer no to the secure fax question. For the rest of the prompts, just press ENTER to accept the default entries. Rebooting your server is required when the install finishes. Once your server is back on line, there will be a new AvantFax tab in the GUI. Before proceeding, be sure to set an Apache web apps password by running /root/apache-pw-change. Next, login to AvantFax with your browser. You first will be prompted for your Apache credentials. Enter admin for the username and whatever password you set up in the previous step. Then you will be prompted for your AvantFax credentials. The default is admin:password. After you enter the username and password, you will be prompted to change your admin password. The AvantFax dashboard then will display. If nothing has come unglued, you should see four green Idle icons:


    blank

    You can Send Faxes from within AvantFax by choosing the Send Fax tab, or you can use one of many HylaFax clients. Google is your friend.

    Configuring Inbound Routes for Fax Detection

    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. First, make certain the Fax Configuration Module is enabled in Module Admin. Then, for each Inbound Route on which you wish to receive faxes, you’ll need to enable fax detection on each route.

    Under the Fax tab of each Inbound Route, enter the following settings:

    Detect Faxes: YES
    Fax Detection Type: SIP
    Fax Ring: YES
    Fax Detect Time: 4
    Fax Destination: Custom Destinations -> Fax (Hylafax)
    

    To try things out, send yourself a fax at no cost in the U.S. from FaxZero.

    Using the GraphQL API Tool with Incredible PBX

    Begin by installing the required GraphQL components:

    pip3 install --pre gql[all]
    

    Next, open the FreePBX GUI and navigate to Connectivity -> API. Select the Scope Visualizer tab and check Read/Write for ALL GraphQL Modules. Then select the GraphQL Explorer tab and click Reload Explorer. In the GraphiQL dialog, enter the following and press the Start arrow to list all of your extensions:

    query {
      fetchAllExtensions {
        status
        message
        totalCount
        extension {
          extensionId
        }
      }
    }
    

    For the complete tutorial on using GraphQL to list, edit, and populate virtually anything on your PBX, read this tutorial and review the Asterisk documentation for the GraphQL API.

    Installing OPUS in the Oracle Cloud

    Log into your server as root and issue the following commands:

    rm /usr/lib64/asterisk/modules/codec_opus.so
    rm /usr/lib64/asterisk/modules/codec_opus_open_source.so
    rm /usr/lib64/asterisk/modules/res_format_attr_opus.so
    rm /usr/lib/asterisk/modules/codec_opus.so
    rm /usr/lib/asterisk/modules/format_ogg_opus*.so
    rm /usr/lib/asterisk/modules/res_format_attr_opus.so
    rm /usr/lib/asterisk/modules/codec_opus_open_source.so
    cd /usr/lib64/asterisk/modules
    wget http://incrediblepbx.com/opus-oracle.tar.gz
    tar zxvf opus-oracle.tar.gz
    rm opus-oracle.tar.gz
    fwconsole restart
    asterisk -rx "module show like opus"
    asterisk -rx "core show translation paths opus"
    

    How Sausage Is Made AND Special Thanks

    While our name is associated with this build, I want to give a special tip of the hat to the important contributions from Dick Ollett on the text-to-speech deployment, Bill Simon on the CDR/CEL implementation with ODBC, and @knerd for his GraphQL tips. AArch64 is a different beast, and we couldn’t have pulled this off without their assistance. If you’re ever curious how sausage is actually made in the open source development world, you can read all about it in this VoIP-Info.org Forum thread. THANK YOU! Should you ever need paid Asterisk consulting, these are our two go-to guys. You can find them on the forum, or you can contact us for a referral.

    Originally published: Monday, May 30, 2022   Updated: Sunday, September 25, 2022


    blank
    Need help with Asterisk? Visit the VoIP-info Forum.


     

    Special Thanks to Our Generous Sponsors


    FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

    blankBOGO 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. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

    blankThe lynchpin of Incredible PBX 2020 and beyond is 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.

    blankVitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
     

    blankSpecial Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
     



    blank

    Systems Integration and Public Participation with FreePBX

    blank

    It’s been an interesting few days in the FreePBX® VoIP community with a thread on the VoIP-Info.org and another on the FreePBX Forum. It’s prompted us to revisit what open source development is all about and what all of this means to those of you that rely upon Asterisk® and FreePBX.

    After the departure of the Schmooze folks from Sangoma, virtually all development has been moved behind closed doors with the first opportunity for public participation occurring after new features appear in modules pushed to the so-called Edge repository. This is where folks can shake the kinks out of modules that presumably are almost ready for prime time. For example, take a look at the Changelog for the Framework Module. Prior to the departure of the Schmooze team, changes were managed by openly-accessible tickets. But now you will notice tickets bear a FREEI designation indicating restricted Sangoma-internal access only.

    blank

    Beta previously was an appropriate moniker for these modules. If you read the FreePBX forum post above, you’ll note that now modules are being pushed to the Edge repository not only before public comment but apparently before much of any internal testing is performed by the Sangoma folks. The net result is you’d be crazy to ever use Edge modules in any production environment where, in the past, Edge modules more typically were used to fix something that was already broken in the traditional repository. Because the Bootstrap module is the lynchpin of virtually all other FreePBX modules, a recent glitch that had not been tested broke almost everything in FreePBX 16 if you happened to be using Edge modules.

    I’m reminded of the old adage about marine aquariums. You never want to put a new fish in your main tank unless you’re willing to risk killing all of your other fish. This latest fiasco prompts our cautionary note about further use of the FreePBX Edge repository. Don’t load new modules on your production servers without testing them first in a VirtualBox sandbox unless you have a snapshot or backup of your server that can be deployed in minutes when something cataclysmic occurs.

    And that brings us to our response concerning what Incredible PBX® is and is not all about. Going back to the early 80’s, we began tweaking hardware and software deployments to eliminate much of the pain associated with deployment of automated systems. Our friend on the VoIP-Info forum refers to Incredible PBX as a fork of FreePBX. Quite the contrary, it is anything but a fork. We use the FreePBX GPL modules exactly as they are published by Sangoma with an additional master key not controlled by Sangoma for your protection and for ours. This allows us to block specific module updates that prove to be dangerous for our users. Equally important, Incredible PBX offers improved functionality and stability, the same features that are typically associated with the work of a systems integrator… that you pay for. On the stability side, we migrated to new FreePBX repositories maintained by Clearly IP simply because the FreePBX repos had become extremely unreliable and proprietary. Sangoma deploys modules using key signatures that only they control. That means if you make any improvements or changes the FreePBX Dashboard displays all sorts of security alerts, something your customers and end-users would prefer not to see. Some of you may recall this was our primary objection to module signatures years ago.

    On the enhancement side, we’ve tried to add free components that our millions of readers have clamored for. You may recall that Nerd Vittles was the first to provide turnkey Google Voice support for Asterisk over a decade ago. We then tackled security after numerous compromises of FreePBX systems around the world. Since then the list has grown exponentially. Here’s the added feature set you’ve enjoyed by deploying an Incredible PBX platform instead of the FreePBX Distro. And, unlike FreePBX commercial modules, these components won’t cost you a dime and are freely distributable. So the choice is yours.

    • User-customizable installers for Rocky 8, Debian 10 & 11, Ubuntu 20.04, Raspbian
    • User-customizable images for VirtualBox, VMware, Proxmox, and Raspberry Pi
    • Preconfigured, free faxing with HylaFax and AvantFax
    • Preconfigured, secure IPtables firewall
    • Preconfigured, secure Fail2Ban
    • Preconfigured PortKnocker
    • Preconfigured NeoRouter VPN
    • Preconfigured OpenVPN
    • Preconfigured, secure WebMin
    • Preconfigured SendMail and Postfix
    • Preconfigured ODBC Integration for FreePBX
    • Sample ODBC Database Lookups for FreePBX
    • Dozens of Preconfigured Trunk Provider Setups for FreePBX
    • Preconfigured, secure PUBLIC Access Setups for FreePBX
    • Preconfigured scripts to update CentOS, Debian, Ubuntu, Raspbian, and Rocky
    • Preconfigured scripts to update or upgrade Asterisk
    • Preconfigured scripts to update or upgrade FreePBX
    • Preconfigured scripts to update or upgrade PHP
    • Preconfigured script to implement PPTP
    • Preconfigured script to implement TFTP
    • Preconfigured script to implement SAMBA
    • Preconfigured script to implement Gmail Smarthost for SendMail/Postfix
    • Preconfigured script to implement non-Gmail Smarthost for SendMail/Postfix
    • Automatic Update Utility to resolve bugs and security vulnerabilities
    • Integrated TTS apps: FLITE, Festival, PicoTTS, GoogleTTS, Amazon Polly
    • Integrated TTS apps for Voicemail Transcription
    • Integrated STT apps and samples for Asterisk and FreePBX
    • Integrated Voicemail Transcription for Asterisk with Email Delivery
    • AsteriDex 4 web-based MySQL GUI with FreePBX Dialer & Lookups
    • Telephone and Web-Based Reminders for FreePBX with Email and SMS Alerts
    • TTS News Headlines for FreePBX
    • TTS Weather Forecasts for FreePBX (by ZIP Code and Airport Code)
    • CallerID Superfecta for Asterisk
    • MailCall for Asterisk via TTS
    • SMS Scripts for Skyetel and VoIP.ms Message Blasting
    • Speech-to-Text Directory Assistance for Asterisk
    • Wolfram Alpha TTS for FreePBX
    • U-Rang Screenpop Utility for Asterisk
    • xTide TTS for FreePBX
    • Facebook Messaging Integration
    • Twitter Messaging Integration
    • Skype and Gizmo Telephony Integration
    • Teleyapper Message Broadcasting System for Asterisk
    • Scripts to disable Module Signature Checking with FreePBX
    • Script to configure time zones worldwide
    • Incredible Backup and Restore Utilities for all OS platforms
    • LENNY, The Robocallers Worst Nightmare

    People hear the word "fork" and get scared away from testing alternative VoIP solutions. If you’re one of those folks, we would encourage you to spend an hour with Incredible PBX using one of our supported virtual platforms: VirtualBox, VMware, or Proxmox. We think the decision will be a no-brainer after your testing. For a list of all of our free VoIP solutions, visit the Incredible PBX Wiki. Enjoy!

    Originally published: Monday, May 23, 2022


    blank
    Need help with Asterisk? Visit the VoIP-info Forum.


     

    Special Thanks to Our Generous Sponsors


    FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

    blankBOGO 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. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

    blankThe lynchpin of Incredible PBX 2020 and beyond is 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.

    blankVitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
     

    blankSpecial Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
     



    blank

    A Walk on the Wild Side: Meet Incredible PBX for MX Linux

    blank

    This week’s adventure is just for fun. It’s a VirtualBox® Beauty featuring Incredible PBX®, Asterisk® 18, FreePBX® 15, and MX Linux 21.1. If you’re unfamiliar with MX Linux, it is one of the slickest Debian aggregations because it seamlessly integrates a desktop GUI featuring Xfce Desktop, KDE, and fluxbox into a Debian 11 platform with native support for LibreOffice, Firefox, Thunderbird, SAMBA, and some awesome games and music utilities including Clementine. If all of these apps sound like Greek, then you owe it to yourself to spend an evening or weekend exploring MX Linux while enjoying most of the integrated functionality of the Incredible PBX 2021 platform. Did we mention that printer integration is seamless with most of the major brands so you can enjoy the office suite without missing a beat by abandoning your Mac or Windows desktop.

    blank

    What would we use this for? The short answer is not for production. The long answer is it’s a perfect complement for a traveling Chromebook where you want to connect back to your PBX mothership while retaining full functionality of a desktop computer back home at zero cost. VirtualBox is free. Incredible PBX is free. MX Linux including our bundled .ova image is free. And an 8GB Chromebook with 64GB of eMMC storage is dirt cheap. So what’s not to like?

    Installing Oracle VM VirtualBox

    blank

    Oracle’s virtual machine platform inherited from Sun is amazing. It’s not only free, but it’s pure GPL2 code. VirtualBox gives you a virtual machine platform that runs on top of any desktop operating system. In terms of limitations, we haven’t found any. We even tested this on an Atom-based Windows 7 machine with 2GB of RAM, and it worked without a hiccup. So step #1 today is to download one or more of the VirtualBox installers from VirtualBox.org or Oracle.com. Our recommendation is to put all of the 100MB installers on a 4GB thumb drive.1 Then you’ll have everything in one place whenever and wherever you happen to need it. Once you’ve downloaded the software, simply install it onto your favorite desktop machine. Here’s a link to get VirtualBox running on a Chromebook. Accept all of the default settings, and you’ll be good to go. For more details, here’s a link to the Oracle VM VirtualBox User Manual.

    NOTE: The Incredible PBX for MX Linux VM requires a VirtualBox 6.x platform. Adjust screen size in View -> Virtual Screen.

    Installing the Incredible PBX for MX Linux Image

    To begin, visit our SourceForge page and follow the steps to assemble the 8GB+ .ova image of Incredible PBX with MX Linux.

    Next, copy it to your VirtualBox desktop machine and double-click on the Incredible PBX .ova image. Then click Import. Once the import is finished, you’ll see a new Incredible PBX for MX Linux virtual machine in the VM List of the VirtualBox Manager Window. Let’s make a couple of one-time adjustments to the Incredible PBX configuration to account for possible differences in sound and network cards on different host machines.

    (1) Click once on the Incredible PBX virtual machine in the VM List. Then (2) click the Settings button. In System tab, verify Hardware Clock in UTC Time is checked. In the Audio tab, check the Enable Audio option and choose your sound card. In the Network tab for Adapter 1, check the Enable Network Adapter option. From the Attached to pull-down menu, choose Bridged Adapter. Then select your network card from the Name list. Then click OK. That’s all the configuration that is necessary.

    Running Incredible PBX for MX Linux in VirtualBox

    Once you’ve imported and configured the Incredible PBX for MX Linux Virtual Machine, you’re ready to go. Highlight the Incredible PBX virtual machine in the VM List on the VirtualBox Manager Window and click the Start button. The standard Linux boot procedure will begin and, within a few seconds, you’ll get the familiar Linux login prompt. Choose Other from the pull-down list and enter root for your username and password for your password.

    blank

    During the bootstrap procedure, you may see a couple of dialogue boxes pop up that explain the keystrokes to move back and forth between your host operating system desktop and your virtual machine. Remember, you still have full access to your desktop computer. Incredible PBX is merely running as a task in a VM window. Always gracefully halt Incredible PBX just as you would on any computer.

    Here’s what you need to know. To work in the Incredible PBX virtual machine, just left-click your mouse while it is positioned inside the VM window. To return to your host operating system desktop, press the right Option key on Windows machines or the left Command key on any Mac. On Linux desktops, press the right Ctrl key. For other operating systems, read the dialogue boxes for instructions on moving around. To access the Linux CLI, login as root with the default password: password.

    Once the Xfce Desktop displays, click on the Xfce Terminal Emulator icon in the left menu bar which will drop you into the Linux CLI.

    First, create a new end-user account which we will explain in a minute. Just enter the following command: adduser nerd.

    Next, update your admin password for Incredible PBX web access: ./admin-pw-change.

    Then update your admin password for web applications: ./apache-pw-change. You’ll need these admin passwords to access the web GUI to manage your PBX as well as to use the AsteriDex and Reminders web apps.

    Finally, run ./timezone-setup to set the correct time zone for your virtual machine.

    Make note of your virtual machine’s local IP and time by typing pbxstatus. You’ll need this IP address to log into the Incredible PBX GUI using Firefox on the Xfce Desktop.

    Setting the Date and Time with VirtualBox

    If pbxstatus still shows an incorrect time, manually set the date and time and then update the hardware clock. Here’s how assuming 05160709 is the month (May), day (16), and correct time (7:09 a.m.) of your server:

    date 05160709
    clock -w
    

    Returning to the Xfce Desktop

    Now let’s return to the Xfce Desktop and close the terminal window. Type exit and press ENTER.

    MX Linux won’t let you run many of its desktop applications while logged in as root. To switch to the nerd user we created above, do the following. Click on the Application Menu icon in the bottom left column. Then click the Lock Screen icon at the top of the applications menu. When the familiar login screen reappears, log back into your virtual machine as nerd using the password you set up when you created the account. Now explore all the fabulous features that MX Linux offers. And follow our Incredible PBX tutorial to get up and running in minutes.

    Originally published: Monday, May 16, 2022


    blank
    Need help with Asterisk? Visit the VoIP-info Forum.


     

    Special Thanks to Our Generous Sponsors


    FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

    blankBOGO 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. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

    blankThe lynchpin of Incredible PBX 2020 and beyond is 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.

    blankVitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
     

    blankSpecial Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
     



    blank

    1. Many of our purchase links refer users to Amazon when we find their prices are competitive for the recommended products. Nerd Vittles receives a small referral fee from Amazon to help cover the costs of our blog. We never recommend particular products solely to generate Amazon commissions. However, when pricing is comparable or availability is favorable, we support Amazon because Amazon supports us. []

    Deal of the Year: OBi2182 Color WiFi Phones now $59.99


    blank

    One year and counting… If you still have some Google Voice numbers lying around or if you’d like to join the party a little late, now is your second chance. Amazon now is selling the OBi2182 phones to U.S. residents with native Google Voice as well as WiFi, Bluetooth, HD Voice, speakerphone, and a power adapter currently selling for $69.99. Hold, transfer, and conferencing support are included in the phone. Here’s our Amazon referral link to keep the lights on.

    We were big fans of OBiHai once upon a time. But then they sold out to Polycom. And they subsequently sold out to Plantronics. And support went from bad to worse along the way. But things appear to have stabilized so this offering may just be one of the best deals on the planet. Not only do you get unlimited free calling throughout the U.S., Canada, and Ukraine but you also get some of the best pricing ever on most international calls. While we no longer have any dealings with ObiHai, Polycom, or Plantronics, we know many of our followers were left high and dry when Google pulled the plug on Google Voice for Asterisk®. Here’s a tip.

    Adding one or more of these phones makes a perfect supplement to your Asterisk platform making it easy to add free calling to your home or home office PBX. And it’s not too late to order a Google Voice number if you’re new to the game. Configuring a SIP or PJsip connection as well as Bluetooth connectivity to your cellphone is just as simple as adding Google Voice trunks using the OBiTalk web interface shown below. Trunk setups take less than a minute apiece. The phone supports 12 lines. And WiFi calls are crystal-clear thanks to HD Voice.

    blank

    Grab an OBi2182 while you still can! An Admin Guide to the OBi2182 is available here.

    Originally published: Monday, May 9, 2022


    blank
    Need help with Asterisk? Visit the VoIP-info Forum.


     

    Special Thanks to Our Generous Sponsors


    FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

    blankBOGO 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. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

    blankThe lynchpin of Incredible PBX 2020 and beyond is 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.

    blankVitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
     

    blankSpecial Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
     



    blank

    Interconnecting Asterisk Servers with PJsip and OpenVPN

    blank

    It’s been several years since we discussed interconnecting Asterisk® servers so today we want to do a version refresh using PJsip Trunking. We also want to show you how easy it is to secure the communications path by setting up the trunks using OpenVPN connections. When we’re finished, you’ll have a FREE way to call between sites using FreePBX® Outbound Routes. Because Incredible PBX comes preconfigured with all the components you’ll need, we’ll use that platform to further simplify the deployment. We’ll be interconnecting two Asterisk servers today, but you can use the same methodology to connect numerous sites.

    Deploying OpenVPN with Asterisk Servers

    To begin, you’ll want to get all of the sites configured with a virtual private network using OpenVPN. Our tutorial will walk you through the process. Keep in mind that all current releases of Incredible PBX are preconfigured to let you drop in your OpenVPN client credentials by naming them incrediblepbx.ovpn and copying the file into the /etc directory. Rebooting your server will bring up the virtual private network with a 10.8.0.x IP address.

    Configuring PJsip Trunks on Your Asterisk Servers

    If you remember yesteryear’s knuckle drill configuring SIP or IAX trunks for Asterisk connectivity, you’re in for a pleasant surprise using PJsip trunking with FreePBX. Using the GUI, create a new PJsip trunk for every site to which you want to establish a connection. A similar PJsip trunk must be created on the other site as well. If you’re just interconnecting two servers, then using the City locations for the Trunk Names will suffice. But, if there are more than two servers, specify unique names for each end of every PJsip connection, e.g.

    NewYork1 <-> London1
    NewYork2 <-> Washington1
    NewYork3 <-> Miami1
    London2 <-> Washington2
    London3 <-> Miami2
    Washington3 <-> Miami3
    

    For today, we’ll interconnect a server in New York and London, but we’ll plan for the future and use London1 for the Trunk Name on the New York server and NewYork1 for the Trunk Name on the London server.

    Let’s begin by configuring the London1 trunk on the New York server. After entering the London1 Trunk Name in the General tab, click on the pjsip Settings tab. In the General tab, leave the defaults in the first four fields. Then change the Registration field to None. For the SIP Server field, enter the OpenVPN IP address of the London server, e.g. 10.8.0.2. Because we’re using Incredible PBX, the PJsip port is 5061 so enter that in the SIP Server Port field. If you’re using a different flavor of FreePBX, enter the appropriate port number for PJsip on your platform. Next, click on the Advanced tab and enter the London server’s OpenVPN address in the Match (Permit) field, e.g. 10.8.0.2. In the Codecs tab, make note of the enabled codecs and make certain that the entries match on all of your servers. Click the Submit button to save your settings and then reload your dialplan.

    Now let’s configure the NewYork1 trunk on the London server. After entering the NewYork1 Trunk Name in the General tab, click on the pjsip Settings tab. In the General tab, leave the defaults in the first four fields. Then change the Registration field to None. For the SIP Server field, enter the OpenVPN IP address of the New York server, e.g. 10.8.0.1. Because we’re using Incredible PBX, the PJsip port is 5061 so enter that in the SIP Server Port field. If you’re using a different flavor of FreePBX, enter the appropriate port number for PJsip on your platform. Next, click on the Advanced tab and enter the New York server’s OpenVPN address in the Match (Permit) field, e.g. 10.8.0.1. In the Codecs tab, make certain that the entries match those on your New York server. Click the Submit button to save your settings and then reload your dialplan. Here’s how it looks in the FreePBX GUI:

    blank

    Use Outbound Routes to Interconnect Extensions

    To keep things simple, let’s assume both your New York and London servers have extensions 701-705. To call an extension on the other server, we will simply dial 9 and then the 3-digit extension, e.g. dialing 9701 on the New York server will ring 701 on the London server and dialing 9701 on the London server will ring 701 on the New York server.

    Create an Outbound Route on the New York server called London specifying London1 for the Trunk Sequence in the Route Settings tab. In the Dial Patterns tab, enter 9 in the Prefix field and XXX for the Match Pattern. Click Submit to save your settings and then reload dialplan.

    blank

    Create an Outbound Route on the London server called New York specifying NewYork1 for the Trunk Sequence in the Route Settings tab. In the Dial Patterns tab, enter 9 in the Prefix field and XXX for the Match Pattern. Click Submit to save your settings and then reload dialplan.

    If you’re interconnecting more than two sites, then you probably will want to designate a specific Prefix for every City so that users can travel between sites and use the same methodology to reach the same extensions from every location.

    You can test things out using softphones by registering 701 to an extension in New York and another to the 701 extension in London. Now you can place secure and FREE calls between the sites by dialing 9701 from each softphone. Enjoy!

    Originally published: Monday, May 2, 2022


    blank
    Need help with Asterisk? Visit the VoIP-info Forum.


     

    Special Thanks to Our Generous Sponsors


    FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

    blankBOGO 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. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

    blankThe lynchpin of Incredible PBX 2020 and beyond is 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.

    blankVitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
     

    blankSpecial Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
     



    blank

    Migrating Incredible PBX 2022 to a PUBLIC-Facing Cloud PBX

    blank

    Today we want to show you how to reconfigure Incredible PBX 2022 for Rocky 8 into a PUBLIC-facing Cloud PBX. What that means is authorized users can connect a SIP phone to the PBX regardless of where the user might be located without worries about an ever-changing dynamic IP address and the requirement to whitelist the new IP address. A PUBLIC-facing PBX also provides free SIP URI connectivity to users of your PBX by anyone from anywhere in the world. In other words, it’s similar to the way you could connect to any Ma Bell telephone in the world simply by knowing the number to dial. The difference, of course, is SIP URI connectivity is free while there were often staggering long distance charges for remote connectivity in the Ma Bell days. Fifty years ago it was not uncommon for a college boy to spend $200 a month calling his college sweetheart less than 200 miles away in the same state. Ask me how I know.

    Why is this such a big deal? The short answer is security and your phone bill. You don’t want bad guys on the other side of the globe attempting to register a SIP phone to your PBX so that they can use your trunks to make free phone calls on your nickel. You also don’t want anybody and everybody calling your users by simply guessing the IP address of your PBX. As with Incredible PBX 2021 PUBLIC for Debian, today’s design combines several security mechanisms to make a PUBLIC-facing PBX safe and secure. First, we will block all SIP connectivity to your PBX by IP address. Second, we will identify 30,000+ known SIP bad guys and block their access to your PBX entirely. Third, we will only permit SSH access to your PBX using public key authentication instead of traditional username/password authentication. Fourth, we will only permit web access to the Incredible PBX portal from whitelisted IP addresses and OpenVPN private addresses. We haven’t mentioned the elephant in the room, Distributed Denial of Service (DDoS) attacks, but today’s methodology reduces the risk considerably since your PBX cannot be ping’d, and all IP address access is blocked at the Linux kernel level.

    Prerequisites. To put all these safeguards in place, you’ll need a cloud-based Incredible PBX 2022 KVM platform running Rocky 8. Install the latest Incredible PBX 2022 platform using our tutorial. Next, you’ll need these items:

    1. Public IP Address of your server
    2. Obscure FQDN linked to this public IP address
    3. Random SSH port with registered public keys for SSH access
    4. List of SIP extensions to enable for SIP URI access
    5. IP Addresses to WhiteList for Access to the Web GUI

    1. Deciphering Public IP Address of Your PBX

    After logging into your PBX as root, you can execute pbxstatus to decipher the public IP address of the PBX. Or issue the command: wget -q -O - ipinfo.io/ip

    2. Obtaining an FQDN for Your PBX

    Security through obscurity provides a critical layer of protection for your server so choose an FQDN carefully. sip.yourname.com provides little protection while f246g.yourname.com pretty much assures that nobody is going to guess your domain name. This is particularly important with SIP registrations because registered extensions on your PBX can obviously make phone calls that cost you money. If you don’t have your own domain, you can always obtain a free hostname from a service such as NoIP.com.

    3. Securing SSH Access to Your PBX

    Whatever you do, don’t leave SSH access via port 22 exposed on your PBX. In the time it took to create a new PBX on CloudAtCost, there were over 400 attempted logins to the default SSH port of the new server. The simplest (but least secure) method to avoid these script kiddie attacks is to change the port number for SSH access to your server. We suggest using the year you were born as the port number because it’s easy to remember. Edit /etc/ssh/sshd_config and uncomment the Port line replacing 22 with the port number you chose. Then restart SSH: systemctl restart sshd.

    The preferable solution to secure SSH is to create and use SSH keys for access and set PasswordAuthentication no on the last line of /etc/ssh/sshd_config. Digital Ocean has an excellent tutorial to walk you through the setup process.

    4. Choosing Extensions for SIP URI Public Access

    With today’s PUBLIC design, exposing an extension for PUBLIC access means anyone in the world that knows the FQDN of your server and the extension number can do two things using any SIP client: (1) they can call you and (2) they can attempt to register to that extension and make calls on your trunks AND your nickel. So only expose extensions for public access if there is a need to connect or call from remote locations. For extensions you decide to expose, make certain that the passwords for these extensions are extremely secure, lengthy, and use numbers with both UPPER and lower case letters. Never use default extension passwords!

    5. Whitelisting IP Addresses for Public Web Access

    Without enumerating IP addresses for public web access, you won’t be able to connect to the web GUI of your PBX from any IP address. Down the road, if you wish to authroize additional IP addresses, you can use /root/add-ip to add them via SSH.

    Deploying Incredible PBX PUBLIC Firewall

    To get started, log into your server as root and issue the following commands:

    cd /tmp
    wget http://incrediblepbx.com/newpublic.tar.gz
    tar zxvf newpublic.tar.gz
    rm -f newpublic.tar.gz
    

    Next, edit /tmp/iptables.base and change the highlighted entries:

    blank

    Change port 22 in the dport entry to the SSH port number you chose in Step 3, above.

    Change 8.8.8.8, 8.8.4.4., and 1.1.1.1 to actual public IP addresses of desktop machines you wish to use to access the web GUI of your PBX. If you don’t need three entries, comment out the other entries with # at the beginning of each line.

    Replace your-servers-IP-address with the actual IP address of your PBX from Step 1, above.

    Save the file.

    On the Rocky 8 platform, issue the following commands:

    cd /etc/sysconfig
    cp /tmp/iptables.base .
    mv iptables iptables.orig
    cp iptables.base iptables
    

    Using Incredible PBX PUBLIC with Asterisk

    The first line of defense with this PUBLIC implementation is your FQDN. Second is the IPtables firewall setup above. And third is the Asterisk® extensions configuration in extensions_override_freepbx.conf. Here’s how to configure it. Edit /tmp/extensions_override_freepbx.base and change the highlighted entries:

    blank

    If there are phone numbers assigned to your PBX that you want processed according to your Inbound Routing rules, duplicate the first highlighted line above and, for each trunk, replace 8881234567 with your actual DID numbers.

    In exten => _.,1 line, replace your-servers-IP-address with the actual IP address of your PBX from Step 1, above.

    In exten => _.,10 line, replace your-servers-FQDN with the actual FQDN assigned to your PBX from Step 2, above.

    Scroll down in the file to the following section:

    blank

    Comment out undesired default extensions. Place a semicolon at the beginning of the lines.

    For any extensions you wish to add, insert a new line in the following format replacing both 7000 entries with the desired extension number:

    exten => 7000,13,Dial(local/7000@from-internal)
    

    Save the file and then execute the following commands to complete the PUBLIC setup:

    cd /etc/asterisk
    cp /tmp/extensions_override_freepbx.base .
    mv extensions_override_freepbx.conf extensions_override_freepbx.orig
    cp extensions_override_freepbx.base extensions_override_freepbx.conf
    fwconsole restart
    asterisk -rx "dialplan reload"
    iptables-restart
    sed -i 's|-A INPUT|-I INPUT|' /root/add-ip
    sed -i 's|-A INPUT|-I INPUT|' /root/add-fqdn
    

    Adding IPSET Incredible PBX 2022 Protection

    We’re not the biggest fans of blacklists because the bad guys spend a lot of time trying to corrupt them by inserting valid IP addresses of sites such as DNS servers in the lists to wreak havoc. Having said that, there are two blacklists that are carefully monitored on a daily basis, and both provide additional protection for your PBX by weeding out access by 30,000+ potential bad guys. The oldest of these is VoIP Blacklist. And the new kid on the block is APIBAN from LOD.com and Fred Posner. We’ve simplified the setup process for use with Incredible PBX 2022. To get started, obtain an APIBAN API key here. Then issue the following commands to put all the pieces in place on your server:

    
    cd /usr/local/sbin
    wget http://incrediblepbx.com/incrediblepbx-ipsets8.tar.gz
    tar zxvf incrediblepbx-ipsets8.tar.gz
    rm -f incrediblepbx-ipsets8.tar.gz
    

    Next, edit /usr/local/sbin/apiban-init and insert your APIkey.

    Finally, issue the following command to reload the firewall: iptables-restart

    Verifying Firewall Setup of Incredible PBX

    Let’s make certain that everything got installed correctly. Begin by issuing this command: iptables -nL

    Scroll toward the top of the list, and you should see two entries for the voipbl and apiban ipsets indicating that entries in those lists will be dropped by the firewall.

    blank

    Next, verify that the voipbl and apiban ipsets are populated. The first two commands below will list all of the blocked IP addresses. And the next two commands will provide a count of the dropped IP addresses.

    ipset list voipbl
    ipset list apiban
    ipset list voipbl | wc -l
    ipset list apiban | wc -l
    

    Finally, you can refresh the ipsets with the following two commands:

    voipbl-init
    apiban-init
    

    Rebooting or restarting the firewall with iptables-restart also refreshes the ipset listings.




     

    Calling an Incredible PBX PUBLIC Extension

    Any extensions that you have whitelisted in the blue section above can be called from anywhere using any SIP client. Simply enter the SIP URI for the extension in the following format: SIP/extension@your-servers-FQDN

    CAUTION: If a caller attempts to call any extension on your PUBLIC server from an extension on another Asterisk server to which the caller is registered, the call will fail if there is a matching extension number on the PUBLIC server and the two servers are not registered to each other. So remember to use unique extension numbers on your PUBLIC server if you expect callers from other Asterisk servers.

    Registering Incredible PBX PUBLIC Extension

    If you wish to login to a whitelisted extension using a SIP client, enter the extension and password of the extension. For the server address, enter the FQDN of your server. If it’s a PJsip extension, add :5061 to the end of the FQDN.

    Originally published: Monday, April 25, 2022


    blank
    Need help with Asterisk? Visit the VoIP-info Forum.


     

    Special Thanks to Our Generous Sponsors


    FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

    blankBOGO 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. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

    blankThe lynchpin of Incredible PBX 2020 and beyond is 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.

    blankVitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
     

    blankSpecial Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
     



    blank