Home » Incredible PBX » CentOS/SL Platform (Page 8)
Category Archives: CentOS/SL Platform
Deploying an Incredible PBX 2020 PUBLIC Server
With the almost overnight popularity of the new Clearly Anywhere softphone which provides Incredible PBX connectivity from virtually anywhere, we wanted to revisit our Incredible PBX 2020 PUBLIC tutorial to document some additional tips and tricks. And, because softphones need connectivity on both cellular networks and using Wi-Fi with dynamic IP addresses in multiple locations, exclusive whitelist-based access to Incredible PBX simply was no longer feasible. Additionally, due to Clearly Anywhere’s tight integration with the FreePBX® User Control Panel (UCP), remote access to UCP for mobile users has become more important particularly with the new QR Code auto-configuration option for Clearly Anywhere clients.
Safely deploying a public-facing Asterisk® server with full FreePBX functionality has become the Holy Grail for Nerd Vittles in 2019. Today we tackle it on the new Incredible PBX® 2020 platform featuring the latest releases of Asterisk 16 and FreePBX 15. The icing on today’s cake is an additional offer from Skyetel that supplements the current Nerd Vittles BOGO offer of up to $500 in half-priced VoIP services. Skyetel now starts you off with a $10 credit just for opening an account here. Then, after you have had an opportunity to kick the tires and perhaps purchase a DID for a buck, you can make $9 worth of phone calls before deciding whether to take advantage of the BOGO special by making a purchase of up to $250 and having Skyetel match your contribution. Once you have funded your account, you then can also take advantage of Skyetel’s free number porting offer for the next 60 days. To get your $10 credit, just open a ticket and request the $10 Nerd Vittles credit once you’ve signed up. To get the Nerd Vittles BOGO price match and take advantage of free number porting, simply open another ticket once you have added up to $250 to your account. Effective 10/1/2023, $25/month minimum spend required.
Making the Case for a Public-Facing PBX
We’ve had some of our pioneers trying out the Incredible PBX PUBLIC implementations for almost a year. Early on, the first question we got was why anyone would want to do this. After all, PBX in a Flash 3 and Incredible PBX for the better part of a decade have been deployed with a whitelist using the Travelin’ Man 3 firewall, and there’s never been a security issue. So why switch horses now? The short answer is mobile users with dynamic IP addresses. If all the users of your PBX are sitting behind the same NAT-based router with static IP addresses, the Travelin’ Man 3 design is perfect. The bad guys could never even see your server. But if some of your users either reside or travel outside your home base or if you want calls to follow you on your smartphone with Clearly Anywhere when you leave home or the office, then Travelin’ Man 3 blocked SIP access from these remote phones until their new IP addresses were whitelisted. Multiply this by dozens or hundreds of users, and network management suddenly became a full-time job. Yes, we’ve had tools such as dynamic DNS and PortKnocker to ease the pain, but it still was a knuckle-drill for mobile users. And, in today’s Covid world, much of the workforce is quickly morphing into mobile users without a traditional desk at any office. What we were also beginning to see were homegrown "improvements" to the IPtables firewall where users that didn’t appreciate the risks were exposing their servers to SIP attacks simply to ease the pain of connecting remotely.
The world also is becoming more SIP savvy. Just as folks are learning that a $35 antenna can provide an awesome collection of 4K Ultra HD TV channels without the expense of a monthly cable bill, others are learning that a SIP telephone or softphone app on your smartphone can provide free calls to and from anybody with a SIP URI without sharing your communications with Facebook or Microsoft. A public-facing PBX makes free worldwide SIP calling a reality.
Building the Base Platform for Incredible PBX PUBLIC
To get started today, begin by installing Incredible PBX 2020 using our latest tutorial. We strongly recommend a cloud-based KVM platform with a static IP address on the public Internet. We’ve even built an Incredible PBX 2020 image for our friends at CrownCloud. You won’t beat their pricing of $25/year which is about the same expense you will incur for electricity hosting your own server on premise. And you even get a snapshot backup at no additional cost.
Once you have set up your Incredible PBX 2020 server, the next step is to assign one or two fully-qualified domain names (FQDNs) to your server. You can have one FQDN for registering SIP extensions and a different one for anonymous SIP (invites) access to your server, or you can use the same FQDN for both. Security through obscurity provides an extra layer of protection for your server so choose your FQDNs carefully. sip.yourname.com provides almost no protection while f246g.yourname.com pretty much assures that nobody is going to guess your domain name. This is particularly important with the FQDN for SIP registrations because registered extensions on your PBX can obviously make phone calls that cost money. If you don’t have your own domain, you can always obtain a free FQDN from a service such as NoIP.com.
By default, Incredible PBX 2020 configures five extensions (701-705) and a Ring Group for those extensions (777) as well as four trunks. With Skyetel, your PBX is ready to make and receive calls as soon as you sign up. With the other three trunk providers, you only need to enable the trunk. You can add as many additional providers and extensions as you like and modify the ring group to meet your needs. To get started, be sure to configure the correct time zone for your server as this affects delivery of reminders. Run /root/timezone-setup. Next, set a secure password for admin access to the FreePBX GUI modules. Run /root/admin-pw-change. Then set a secure password for admin access to web applications such as AsteriDex, Reminders, and User Control Panel. Run /root/apache-pw-change. In addition to reviewing your extensions and ring group, review the default inbound route and choose the destination for the incoming calls from your provider. Finally, configure the outbound route to use the provider sequence desired. By default, it uses Skyetel for outbound calls.
If you plan to use Clearly Anywhere, you’ll need to add at least one PJsip extension on your PBX. Simply navigate to Applications -> Extensions in the FreePBX GUI. Choose Add Extension -> Add PJsip Extension. In the General tab, insert an extension number in User Extension and Display Name, e.g. 707. In the Advanced tab, set Max Contacts to 11 which will let you connect up to 5 Clearly Anywhere softphones to the extension. Click Submit and Reload Dialplan when prompted. Go back into the new extension and make note of your new credentials for User Manager. You’ll need these for Clearly Anywhere. Remember to also add the PJsip extension to the Inbound Route for your incoming calls.
Going Public with Incredible PBX 2020
Once you’ve tested making and receiving calls with your new server, you’re ready to convert it into a public-facing PBX. Before proceeding, remove any whitelist entries you’ve added using add-ip and add-fqdn by running del-acct. These can be added back after the GO-PUBLIC-2020 install script is run. In order to run the install script below, you’ll need your FQDNs that you chose above, plus a port number for future SSH/Putty access to your server, plus a list of the extensions you wish to make available for public access to your PBX. These whitelisted extensions can be reached via SIP URI from anywhere in the world by anybody. It works just like your old MaBell phone. Anybody, anywhere can dial your number. What’s changed is now the calls are free. So choose your list carefully. We recommend using the year you were born for your SSH port to keep things simple for you. Once the GO-PUBLIC-2020 script has been run, you can only access your PBX via SSH/Putty at the new port, for example: ssh -p 1990 root@yourFQDN.com
Now we’re ready to run the install script. It takes less than a minute. Before you begin, log out of ALL SIP extensions you have previously registered with Incredible PBX 2020 and change the server destination from an IP address to the FQDN you plan to assign to SIP registrations. Otherwise, these IP addresses will get banned while the install script is running below!
cd /root wget http://incrediblepbx.com/go-public-2020.tar.gz tar zxvf go-public-2020.tar.gz rm -f go-public-2020.tar.gz ./GO-PUBLIC-2020
A Few Words About Incredible PBX PUBLIC Security
As with all Incredible PBX servers, Incredible PBX 2020-PUBLIC includes the Automatic Update Utility. Please don’t disable it. It’s our only way to push updates to you if some vulnerability is discovered down the road. It gets run whenever you login to your server as root using SSH/Putty. Do so regularly and follow us on Twitter for security alerts. There’s also an Incredible PBX RSS Feed that is displayed when you login to the Incredible PBX GUI with a browser. It, too, includes security alerts and should be checked regularly. It’s your phone bill.
Incredible PBX 2020-PUBLIC uses the ipset utility in conjunction with the IPtables firewall to block several countries that have inordinately high concentrations of folks that try to break into VoIP servers. In addition, your public PBX includes the VoIP Blacklist which includes another 100,000 bad guys from around the globe. These blacklists get updated every night by a script which is run from /etc/crontab. For your own safety, don’t disable or delete /etc/update-voipbl.sh or the other components upon which it relies.
Here are some other things you should do regularly to assure that your server remains secure. Login via SSH/Putty as root and check pbxstatus after the Automatic Update Utility is run. With the exception of the fax components, all the other items should be green all the time. From the Linux CLI, run: iptables -nL
. This will show your firewall rules and whether any IP addresses have been banned by Fail2Ban. If there are banned IP addresses that are not your own, please open a thread on the VoIP-Info Forum and let us know about it. If there are dozens of banned IP addresses, shutdown your server immediately until the problem is identified and resolved. If the IP addresses happen to be your own users because of using incorrect passwords or because of using a server IP address instead of its FQDN for SIP registrations, unban the IP address:
fail2ban-client set asterisk unbanip xxx.xxx.xxx.xxx
Finally, watch the Asterisk CLI periodically for abnormal activity: asterisk -rvvvvvvvvvv
Tightening Up SSH Server Access
You obviously need a very secure root password for access to your server using SSH/Putty. Changing the TCP port for SSH access avoids the script kiddies, but it doesn’t offer much protection from a determined cracker. SSH login attempts are monitored by Fail2Ban, but Fail2Ban has issues when a determined intruder is using a powerful computing platform such as Amazon EC2. The more prudent solution is to disable SSH port access and use SSH Public Key Authentication as documented in the linked tutorial. Always, always use ssh-copy-id to copy your credentials to more than one desktop machine so that you don’t inadvertently lock yourself out of your PBX in the case of a hardware failure.
Web Access to Incredible PBX 2020 PUBLIC
By default, web access to all apps including FreePBX, UCP, AvantFax, AsteriDex, and Reminders is limited to whitelisted IP addresses. For some implementations, particularly those using Clearly Anywhere, this may not be ideal as UCP can assist with user management of the PBX as well as QR code provisioning of Clearly Anywhere. The Apache web server can be used to manage web access so long as you understand the need to apply Apache security patches in a timely manner.
Assign the same FQDN that you use for SIP access to port 80 for the UCP application. Deploy OpenVPN on your server and use the PBX’s OpenVPN IP address for general access to all web applications we listed above. If you’d like public access to the FreePBX GUI, assign web access for it to another random port, e.g. 8080 in our example below. Block web access to your server from the public IP address of your PBX on both port 80 and 8080 in our example below. Here’s how to accomplish that. Create a new file in /etc/pbx/httpdconf. Create public.conf with the following contents:
Listen 8080 <virtualhost *:80> ServerAdmin you@gmail.com ServerName 111.112.113.114 Redirect 403 / UseCanonicalName Off UserDir disabled </virtualhost> <virtualhost *:8080> ServerAdmin you@gmail.com ServerName 111.112.113.114 Redirect 403 / UseCanonicalName Off UserDir disabled </virtualhost> <virtualhost *:80> ServerAdmin you@gmail.com ServerName server-fqdn.com DocumentRoot /var/www/html/ucp ErrorLog /var/log/httpd/error_log CustomLog /var/log/httpd/access_log common </virtualhost> <virtualhost *:80> ServerAdmin you@gmail.com ServerName 10.8.0.123 DocumentRoot /var/www/html ErrorLog /var/log/httpd/error_log CustomLog /var/log/httpd/access_log common </virtualhost> <virtualhost *:8080> ServerAdmin you@gmail.com ServerName server-fqdn.com DocumentRoot /var/www/html ErrorLog /var/log/httpd/error_log CustomLog /var/log/httpd/access_log common </virtualhost> <virtualhost 127.0.0.1:80> ServerAdmin you@gmail.com ServerName 127.0.0.1 ServerAlias localhost DocumentRoot /var/www/html </virtualhost>
In the ServerAdmin lines, insert your email address. Replace 111.112.113.114 with the public IP address of your server. Replace server-fqdn.com with the FQDN assigned for SIP registration access to your PBX. Replace 10.8.0.123 with the OpenVPN private IP address of your PBX. Replace 8080 with the port you chose for FreePBX access to your server. Save the file and then restart Apache: systemctl restart httpd
.
Now it should be safe to open TCP port 80 and 8080 (or whatever port you chose) for web access to your server. Let’s also whitelist TCP 2267 for Clearly Anywhere access while we’re at it:
cd /etc/sysconfig sed -i 's/10000:20000 -j ACCEPT/&\\n-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT/' iptables sed -i 's/10000:20000 -j ACCEPT/&\\n-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT/' iptables sed -i 's/10000:20000 -j ACCEPT/&\\n-A INPUT -p tcp -m tcp --dport 2267 -j ACCEPT/' iptables iptables-restart
Be sure to test all three access methods to verify that you haven’t left a security hole.
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. 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
Special Thanks: We want to give an extra special tip of the hat to the VoIP-Info Forum members who assisted in working the kinks out of the Incredible PBX PUBLIC offering. We also wish to thank JavaPipe LLC for a number of DDOS tips and tricks in securing CentOS 7 with IPtables.
Originally published: Monday, December 30, 2019 Updated: Monday, September 28. 2020
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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special 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.
Clearly Anywhere: The Ultimate Mobile User VoIP Companion
The wait is over! If you like sliced bread, then today’s your lucky day to enjoy the next best thing. Perhaps the single most important component in the VoIP toolbox for any PBX deployment that includes mobile users is a softphone for Android and iOS devices. We began this month with a tip for users of a limited number of Android smartphones. And we have previously written about Linphone and Zoiper and Telephone. We’ve also sung the praises of earlier releases of Google’s Pixel smartphone which makes a perfect VoIP companion even without a cellphone provider. Today we’re pleased to introduce Clearly Anywhere for Incredible PBX 2020 PUBLIC platforms that checks all the boxes: security, reliability, flexibility, feature set, emergencies, and a very reasonable price that covers unlimited devices per user extension. Downloading Clearly Anywhere onto your smartphone from the App Store or Google Play, setup is instantaneous using Clearly Anywhere’s native QR code activation.
- Security: SIP credentials need not be shared with the Softphone provider
- Reliability: Incoming calls arrive via Push Notifications whether app is running or not
- Flexibility: With PJsip, multiple iOS & Android devices can share the same extension
- Feature Set: SMS, BLFs, recording, video calls, DND per phone with Custom Scheduling
- Emergencies: Easily reroute 911 calls to the cell carrier for reliable location identification
- Intro Price: Through October 31: $9.99 per user per year with grandfathered rate lock
Clearly Anywhere Setup on Incredible PBX 2020
Before you deploy Clearly Anywhere on your smartphones, you first must set things up on the PBX side. Here’s how the process works. First, you will need to deploy the PUBLIC version of Incredible PBX 2020. This will reconfigure the IPtables firewall to support Clearly Anywhere. It requires assignment of a fully-qualified domain name (FQDN) for your server. The FreePBX® Clearly Anywhere module is licensed on a per PBX basis. In order to activate the FreePBX module, you’ll next need to purchase one or more user licenses from our Incredible PBX Store. As part of the purchase process, you’ll be prompted to provide the FQDN of your Incredible PBX 2020 PUBLIC server plus the TCP port that Clearly Anywhere clients will use to communicate with your PBX. By default, that port is TCP 2267. We will whitelist TCP port 2267 (or a port of your choice) as part of this setup process. Finally, you will be provided a Registration Token to activate the Clearly Anywhere module when you first run it in FreePBX. Then you simply activate the Clearly Anywhere client for the extensions corresponding to the number of licenses you have purchased.
1. Let’s begin by installing the Clearly Anywhere module for FreePBX. Log into your server as root and issue the following commands from the CLI. NOTE: After this initial install, future updates to the Clearly Anywhere module will be handled in the traditional way using the Module Admin utility in FreePBX.
fwconsole ma downloadinstall http://incrediblepbx.com/clearlysp-14.0.2.tgz fwconsole reload /root/sig-fix /root/sig-fix
2. Purchase one or more client licenses from the Incredible PBX Store. Keep in mind that, if multiple users will be sharing access the same extension, you only need a single license for each extension. And, if you will be setting up multiple smartphones using the same extension on your PBX, that only requires a single license as well.
3. When prompted, provide the FQDN of your server as well as the TCP port that will be used by Clearly Anywhere clients to communicate with your PBX. Default is TCP 2267. To avoid service interruptions, we strongly recommend against using a dynamic IP address for your server. Even with a dynamic DNS utility, there will be times when your Clearly Anywhere clients cannot reach the PBX unless it has a static, public IP address. If you need a cloud-based solution, the $25/year offering from Crown Cloud has no equal.
4. Decipher the Registration Token from the Clearly IP email confirmation.
5. Using a web browser, access the FreePBX GUI using your admin credentials. Navigate to Settings -> Clearly Anywhere. Enter your Registration Token at the prompt. Your Clearly Anywhere configuration will display. NOTE: If you purchase additional client licenses down the road, revisit this page and click Refresh to update your license count.
6. Next, you need to activate Clearly Anywhere for each PJsip extension that will be used with the softphone clients. Each additional extension requires a separate Clearly Anywhere license. Navigate to Admin -> User Management and then Edit the desired Username. Click on the Clearly Anywhere tab and set Enable Softphone to ENABLE. If you previously have subscribed to Incredible SIP Trunking in our ClearlyIP Store, then you also have the option of enabling SMS Messaging on any of the DIDs assigned to your account. As the video above explains, this SMS messaging carries across all of the Clearly Anywhere clients as well as the UCP connected to this same extension on your PBX. IMPORTANT: In PJsip Advanced settings, remember to increase the Max Contacts entry by two for each softphone that will be connecting to the PJsip extension.
7. Whitelist TCP 2267 assigned for Clearly Anywhere API client connections to your server:
cd /etc/sysconfig sed -i 's/10000:20000 -j ACCEPT/&\\n-A INPUT -p tcp -m tcp --dport 2267 -j ACCEPT/' iptables iptables-restart
Clearly Anywhere Setup on Smartphones
The setup process on the smartphone side is simple. Begin by downloading the Clearly Anywhere app from either the App Store or Google Play for your device. Once the client softphone is installed, run the app. You will be prompted for the UCP user credentials and FQDN of your PBX. You can manually enter these, or you can access the User Control Panel (UCP) for the desired user/extension and activate the QR code Provisioning widget for the account. Then, instead of entering the credentials manually on every softphone, you can choose the QR code option and simply point your smartphone at the QR code displayed in UCP. Connections are virtually instantaneous.NOTE: The beauty of this design is SIP credentials need not be shared with the provider.1 While UCP accounts, by default, are created using the extension numbers to which they are associated, these usernames can be changed to anything you like. So, for the 701 extension, if you want to change the UCP login name in your extension settings to BettyBoop, that’s perfectly okay.
Once connected, click on the Settings icon in Clearly Anywhere. Verify that Push Notifications are enabled for Incoming Calls. In the Preferences tab, set a Ring Tone for incoming calls and decide whether to record calls. The Network preference by default will choose WiFi and then Cellular with automatic roll-over when needed. If you want 911 calls routed through your cell carrier instead of through your PBX, choose Number Rewriting, click +. For Conditions, choose Equals 911. For Actions, choose Override Dial Action and select gsmCall. Click Done.
You’re now a Clearly Anywhere Expert. We hope you enjoy using the Ultimate Softphone with Incredible PBX 2020.
Originally published: Monday, September 21, 2020
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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special 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.
- If you activate Push Notifications, SIP credentials must be stored on the SIPIS server in order to reregister your softphone with your PBX when incoming calls arrive. This is an Asterisk and PJsip limitation. [↩]
SPAM Blocker & CNAM Cornucopia for Incredible PBX 2020
If you enjoy calls from politicians and car warranty offers as much as we do, then today’s your lucky day. Blocking spam phone calls has been a challenge to put it charitably. Thanks to some earlier work by Stewart Nelson on the DSLR forum as well as Stewart’s considerable hand-holding in the development of our previous tutorials, we want to introduce a refined call screening approach to block these calls. The way it works is first time callers that are not on your WhiteList will be prompted to "press 5 to connect." Since most spam calls sit in a queue for several seconds before a live person chimes in, that person won’t hear the prompt. After 10 seconds or an invalid response, the call is sent to voicemail. In the alternative, you can play a SIT tone and disconnect the call or you can send the call to your favorite uncle, Lenny. When a successful caller calls again, the caller will be connected without a prompt.1
While today’s approach won’t block every robocaller, our testing suggests that it will catch more than 95% of these annoying calls. Using CallerID Superfecta coupled with the Asterisk® Phanebook will provide an extremely low-cost solution both for blocking spammers AND for displaying accurate CNAM data for incoming calls. The silver lining is you’ll only pay for CNAM lookups from legitimate callers once, and you have a choice of using OpenCNAM or BulkCNAM with the scripts we’ll provide today. Last, but not least, you’ll also get CNAM data for outgoing calls in your CDR logs.
Here’s the actual dialplan addition that will monitor your incoming calls:
[sub-log-caller] exten => s,1,NoOp(*** begin sub-log-caller ***) exten => s,n,GotoIf(${DB_EXISTS(cidname/${CALLERID(num)})}?CNAMOK) exten => s,n,Playback(silence/1) exten => s,n,Playback(to-call-num-press) exten => s,n,Playback(digits/5) exten => s,n,Read(MYCODE,beep,1,n,1,10) exten => s,n,GotoIf($["${MYCODE}" = "5"]?ANONTEST) exten => s,n(FLUNKED),NoOp(*** Caller FLUNKED screening ***) ;exten => s,n,Dial(local/*701@from-internal) ; uncomment to send to 701 VM exten => s,n,Dial(local/53669@from-internal) ; uncomment to send to Lenny exten => s,n,Zapateller() exten => s,n,Hangup exten => s,n,Return() exten => s,n(CNAMOK),Set(CALLERID(name)=${DB(cidname/${CALLERID(number)})}) exten => s,n,Goto(WHITELISTED) exten => s,n(ANONTEST),GotoIf($[${CALLERID(num)} > 0]?WHITELISTNOW:CONNECTNOW) exten => s,n(WHITELISTNOW),Set(DB(cidname/${CALLERID(number)})=${CALLERID(name)}) exten => s,n,Set(CALLERID(all)="${CALLERID(name)} <${CALLERID(number)}>") exten => s,n,Goto(SENDEMAIL) exten => s,n(WHITELISTED),Set(CALLERID(all)="${CALLERID(name)} <${CALLERID(number)}>") exten => s,n,Goto(CONNECTNOW) exten => s,n(SENDEMAIL),NoOp(WhiteListed: ${CALLERID(all)}) exten => s,n,Set(email="root") exten => s,n,GotoIf($[${email} = "root"]?CONNECTNOW) exten => s,n,system(echo "In Asterisk Phone Book, verify new CNAM entry of ${CALLERID(name)} for ${CALLERID(number)}." | /usr/bin/mail -s "Incredible PBX CNAM Reminder" ${email}) exten => s,n(CONNECTNOW),NoOp(*** end of sub-log-caller ***) exten => s,n,Return() ;-------------------------------------------------------------------------------
The beauty of today’s design is that it won’t interfere with your existing call processing rules. In other words, FreePBX® Inbound Routes sent to IVRs, Ring Groups, Conferences, and even incoming Faxes still will be processed exactly as they have been in the past once the CallerID number makes it onto your WhiteList. In order to preserve all of this existing functionality, we’ve tweaked the FreePBX Core module slightly, but it will be transparent going forward. The only caveat is that whenever you upgrade the Core module, you’ll always need to run the /root/sig-fix script to reimplement this new call screening process and to disable Module Signature Checking which has always been an integral part of Incredible PBX.
We first introduced some of these concepts in our previous article in 2018. That article also documented the procedure for adding inbound call processing logic into FreePBX. If you already have implemented the steps outlined in that article, then today’s installer will back up your prior version and overwrite it with this new, improved release.
Here are the basic steps to get this working:
- Configuring CallerID Superfecta in FreePBX
- Enabling CallerID Superfecta on Inbound Routes
- Setting the Proper Context for Your Trunks
- Downloading & Installing Call Screener
- Importing Previous Callers into WhiteList
1. Configuring CallerID Superfecta in FreePBX
CallerID Superfecta is an integral component in today’s new call screening design. It will be used both to populate the Asterisk Phonebook’s WhiteList and to provide CallerID Name (CNAM) data about your callers while assuring that you only pay for one CNAM query even though grandma may call you a dozen times a day. We use the Asterisk Phonebook as the whitelist of authorized callers. The way CallerID Superfecta works is it checks multiple sources for a match on the incoming CallerID Number. As soon as a match is found, the checking ends and the CallerID Number and Name are passed to our Call Screening script.
The CallerID Superfecta lookup sequence needs to be set as follows in the United States: AsteriDex, Asterisk Phonebook, and then one of the following commercial CNAM lookup services: OpenCNAM or BulkCNAM. In other countries, there still may be free CNAM services, but they’ve all disappeared in the U.S. market. We’ve documented the other available sources in a previous Nerd Vittles article.
Low-volume OpenCNAM Value pricing provides global lookups for $0.0028 each. BulkCNAM provides CNAM queries with RoboCall identification for $0.002 per query. If you sign up with OpenCNAM, you will need your Account SID and Auth Token to configure CallerID Superfecta and to populate our Call Screening script. If you sign up with BulkVS, you will need your API Key from the API Credentials tab in your BulkVS Dashboard.
With your credentials in hand, login into FreePBX as admin and navigate to Admin -> CID Superfecta -> Default. Arrange and enable the lookup sources in the following order: AsteriDex, Asterisk Phonebook, and then either OpenCNAM or BulkCNAM (in the U.S. market) or your country’s best CNAM lookup source. Be sure to enter your credentials for the CNAM provider by clicking on the wrench icon beside the provider. If your incoming trunks already provide CNAM lookups (such as BulkVS and Incredible PBX Trunking), then you can substitute Trunk Provided as your CNAM lookup service. With Incredible PBX Trunking, in addition to free CNAM lookups, you also get SPAM detection at no additional cost. For details on the service, follow this link. Then we typically set Telco Data as the last lookup source which will at least give you the city and state of the caller.
2. Enabling CallerID Superfecta on Inbound Routes
By default, CallerID Superfecta is not enabled for incoming calls to your PBX. You must enable it on every Inbound Route by navigating to Connectivity -> Inbound Routes and then editing each of your routes. Then click on the Other tab and set Enable Superfecta Lookup to YES and set the Superfecta Scheme to DEFAULT. Click SUBMIT to save your route settings and then reload the dialplan when prompted.
3. Setting the Proper Context for Your Trunks
It’s equally important to make certain that the CallerID Numbers for all of your incoming calls arrive in the same format. Computers are stupid. 8005551212 and 18005551212 and +18005551212 are completely different callers as far as your PBX is concerned. If different trunks deliver calls with CallerID Numbers formatted differently, then you would need to whitelist ALL of the various permutations for every caller in the Asterisk Phonebook. For those in the U.S. and Canada that primarily receive calls from the U.S. and Canada, we recommend setting the context entry in every trunk to from-pstn-e164-us. This will handle the translation of all 3 number formats above into 10-digit numbers. Calls from other countries will not be affected.
4. Downloading & Installing Call Screener
Now let’s put all the Call Screener components in place and configure the screening setup to meet your own requirements. To get started, log into Incredible PBX as root and issue the following commands:
mkdir /tmp/CALL-SCREENER cd /tmp/CALL-SCREENER wget http://incrediblepbx.com/CallScreener.tar.gz tar zxvf CallScreener.tar.gz rm -f CallScreener.tar.gz ./install
Once the install is begun, the editor will open to the dialplan code. In the [sub-log-caller] context, you have a few options. First, you need to choose how to handle incoming calls where the caller does not enter the "press 5″ number prompt in a timely manner. The default setup (line 9) sends these callers to voicemail for extension 701. You can change the voicemail extension, or you can elect to treat the calls differently. We’ve provided two additional options. Line 10 will send the calls to Lenny at extension 53669. Line 11 will send the calls to Zapateller which is the universal tone for numbers that are not in service. You should enable only one of these three options and comment out the other two by placing a semicolon (;) at the start of the other two lines. If you have fax detection enabled on your PBX, you probably would not want to send failed calls to either Lenny or Zapateller since you may never know the incoming faxes failed. Similarly, if you get calls from people with rotary dial phones such as Grandma, you probably don’t want her talking to Lenny or listening to Zapateller tones.
The next option is which number to prompt callers to press. The default is 5. But you can change it by modifying the existing 5 entry on BOTH lines 5 and 7.
The final option in the [sub-log-caller] context is to activate email notifications for new callers that pass the screening test. This is especially important if you receive lots of calls from cellphone users. Most of those calls will arrive with a CNAM entry of nothing more than the caller’s City and State. Activating an email reminder will notify you to update the Asterisk Phonebook entry for such callers to replace the City, State entry with the caller’s actual name so that your CDR listings and future calls provide accurate CNAM information for the caller. To activate email reminders, replace root in Set(email="root") line with your actual email.
The [macro-dialout-trunk-predial-hook] context handles populating the Asterisk Phonebook WhiteList for outbound calls you make to people that are not yet in your Asterisk Phonebook. These numbers will automatically be added to your whitelist, but you also have the option of adding CNAM entries for these outbound calls using either OpenCNAM or BulkCNAM for outbound calls to numbers that are not yet in your Asterisk Phonebook. To activate CNAM lookups, simply uncomment either line 4 or 5 in the context. For the service you have activated, remember to also enter your Account SID and Auth Token in the case of OpenCNAM or your API Key in the case of BulkCNAM. If you leave both lines commented out which is the default, the callee’s phone number will be entered as both the CNAM and CNUM entry in the Asterisk Phonebook.
Once you have made all the changes desired, save the template by pressing Ctl-X, then Y, then ENTER. The installer then will complete installation of the Call Screener components.
5. Importing Previous Callers into WhiteList
We appreciate that you may not want to aggravate callers that have been calling you for years by making them jump through hoops the next time they call. So here’s a quick way to populate your Asterisk Phonebook with the names and numbers of previous callers. For entries where the CNAM is merely the CallerID Number, future calls from these numbers still will be looked up with OpenCNAM or BulkCNAM to obtain an actual CNAM match. We’ve made a couple of assumptions that you are more than welcome to adjust to meet your own needs. First, we’ve limited the list to callers from the past two calendar years. Second, we’ve only captured calls that lasted more than 15 seconds. We’ll drop down to the Linux CLI to build the list of callers to import. Then we’ll use the FreePBX GUI to import the list into the Asterisk Phonebook. While building the import list, you’ll have an opportunity to prune the list and remove any undesirable entries using nano. To generate the .csv file, issue the following commands:
cd /root ./export-CDR
Now you should have a 2YR-clean.csv file in its final form for import. Copy the file to your desktop PC and open FreePBX in your browser. Navigate to Admin -> Asterisk Phonebook. Click Import Phonebook and then Browse. Select the 2YR-clean.csv file from your desktop. Then click Upload. Take a final look at the new entries in your Asterisk Phonebook to make sure nothing came unglued, and you’re all set.
Originally published: Monday, September 14, 2020
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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special 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.
- Once installed, you can change the voice prompt to a number other than 5 by modifying lines 10 and 12 of the context sub-log-caller which you will find in extensions_custom.conf in the /etc/asterisk directory at the completion of this install. [↩]
Frozen in Time: Sangoma at a Crossroads or the Cliff
We are fast approaching the 18 month anniversary since the mass exodus of talent from Sangoma and Digium. During that time, Asterisk® and FreePBX® have languished in limbo with FreePBX commercial modules mired in discontinued encryption methods and the Asterisk and FreePBX feature set frozen. Sangoma’s acquisition of Digium gave the company a well-respected business phone system in Switchvox® while relegating FreePBX deployments with commercial modules to second-class citizen status.
Now Sangoma has a difficult and expensive decision to make. In order to continue to deploy FreePBX commercial modules on a current operating system and PHP platform, they are facing a multi-million dollar investment to retool all of the commercial modules using an entirely different encryption platform which will generate additional headaches with their module repositories which now must manage and maintain two different sets of modules. Think of it as migrating from an English-based operation to one in which the customer base speaks either English or French, but not both. In the meantime, Asterisk 17 is fast approaching end-of-life while Asterisk 16 is getting long in the tooth with only minor fixes of late. And there’s FreePBX 15 which hasn’t seen significant upgrades since the departure of the former Schmoozecom staff in April of 2019.
While we have never agreed with the Sangoma CEO about much of anything, let’s take over the management reins for a moment and look at the landscape. The Digium acquisition coupled with some other purchases has left Sangoma with a mountain of debt in the middle of a global pandemic. Coronavirus also has forced many businesses to reassess their long-term office strategy. With nearly everyone on the planet now carrying a smartphone and most current employees having high-speed Internet connectivity at home neither of which the company has to pay for, does a fancy office for every employee still make good business sense? When you have a well-positioned business phone offering in Switchvox, does it make good business sense to continue to pump boatloads of money into a competing FreePBX commercial product simply to preserve its functionality? At the same time, Sangoma’s open source Asterisk and FreePBX products need a serious shot in the arm to remain viable. For example, FreePBX 15 with its User Control Panel won’t run on CentOS 8, and CentOS 7 reaches EOL status in December.
So here’s our first act as Sangoma CEO. Convert all of the existing FreePBX commercial modules into open source, GPL code while offering existing FreePBX commercial module customers a 50% discount to migrate to Switchvox within the next six months. We would stagger conversion of the commercial modules to GPL code by releasing three on the first day of every month. This would keep Sangoma in the news for many months to come. The move would not only restore Asterisk and FreePBX to their well-deserved position at the forefront of the open source community, but it would also give Switchvox a leg up in the commercial phone system marketplace. By keeping the identity of the monthly releases a secret, it would build much needed momentum for Sangoma’s open source offerings while reinforcing Sangoma’s commitment to the open source community. Give it some thought, Sangoma!
Originally published: Tuesday, September 8, 2020
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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special 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.
Android Alert: Unmasking Your Hidden SIP Phone
Perhaps the single most important component in the VoIP toolbox for any PBX deployment that includes traveling users is the softphone whether it’s deployed on notebook computers or smartphones. We’re kicking off football season with reviews of some of our favorite SIP softphones for mobile users. We’ve previously written about Linphone and Zoiper and Telephone. We’ve also sung the praises of earlier releases of Google’s Pixel smartphone which makes a perfect VoIP companion even without a cellphone provider. Today we’re passing along an Android tip from @w1ve on the VoIP-Info.org Forum for anyone needing PBX connectivity while away from the home or office. And it won’t cost you a dime so long as you already have an Android smartphone with either a Wi-Fi connection or a data plan with any cellphone carrier.
You may be unaware that Android has been shipping with a native SIP phone since as far back as Android Marshmallow which will be five years old next month. Some phone manufacturers such as Chinese-owned Lenovo/Moto disable the SIP functionality, but many do not including Google, Samsung, and OnePlus. If you’ve deployed an Incredible PBX 2020 PUBLIC server in the Cloud with a PJsip extension, the beauty of this discovery is that you’ll always have VoIP connectivity through your PBX with only a WiFi connection. No SIM is required!
To determine if your Android smartphone includes the SIP dialer, simply open the native Phone app and tap the three vertical bar icon at the top of the dialer menu. From the pull-down menu, choose Settings, Calls, and Calling Accounts. If your Android smartphone includes support for the native SIP dialer, there will be a SIP Accounts option in the menu.
TIP: Even if the SIP Menu doesn’t appear on your smartphone, it may be that the manufacturer simply disabled the menu without actually trashing the SIP functionality as Lenovo has done. To determine whether the menu has simply been hidden, install QuickShortcutMaker from the Play Store. Run the app and scroll down and tap the SIP Settings option and click Test. It should bring up the SIP Accounts menu shown below.
Tapping SIP Accounts and then + icon will open a dialog to add a SIP account to your phone.
With an Incredible PBX 2020 PUBLIC server, the entries should look like the following:
- Username: Your PJsip extension
- Password: Your PJsip password
- Server: FQDN of Your PBX
- Optional Settings -> Port: 5061
Keep in mind that an FQDN for the Server address is required with an Incredible PBX 2020 PUBLIC server. If your server is using a dynamic IP address, you also would want to configure the FQDN using a Dynamic DNS service and refresh that FQDN periodically on your PBX using a cron job. Once you’ve entered your credentials, tap SAVE to activate the SIP account on your smartphone. It should then appear in the SIP Accounts window as shown above.
Next, you have some choices to make as to how the SIP account is actually used. As you can see from our setup (shown above), we allow outbound calls using either the SIM card or the SIP phone, and the phone will prompt for a choice whenever you make a call. We also have activated Inbound SIP calling which, as the dialog explains, uses some battery life. Finally, if you elect to use a chan_SIP extension on your PBX, make certain that you have enabled NAT Mode in the Advanced tab, or you will experience one-way or no audio on calls. This is not required with PJsip extensions. One of the other beauties of PJsip extensions is that you can assign this extension to multiple SIP devices including softphones and desktop phones so long as you increase the Max Contacts entry in the Advanced tab for the PJsip extension. In this way, you can answer incoming calls on your desktop phone when you’re at home or in the office and answer the same calls on your smartphone when you’re out and about. Enjoy!
Originally published: Tuesday, September 1, 2020
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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special 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.
The Asterisk Superfecta: Incredible PBX 2020 Finishes First
At the track, picking the first four winning horses pays big bucks, and you’ll never forget winning the Superfecta. When it comes to unified communications, it’s equally advantageous to have cloud, on-premise, VirtualBox, and VMware offerings from which to choose. With the latest rollouts of Incredible PBX® 2020, you literally have the Asterisk® Superfecta. With the exception of the cloud offering, you don’t even have to buy a ticket. The CrownCloud offerings for $25/year in Los Angeles, Atlanta, Germany, and the Netherlands have no equal.1 And soon we’ll roll out IncredibleBackup2020 so you can move transparently between all the platforms.
The current Incredible PBX 2020 offerings include the following:
- Incredible PBX 2020 for CentOS 7 and Raspbian 10
- Incredible PBX 2020 for VirtualBox®
- Incredible PBX 2020 for VMware®
- Incredible PBX 2020 for CrownCloud
Snapshot images are available for Raspbian 10, VirtualBox, VMware, and CrownCloud which means all of these builds can be installed in just a few minutes. The Incredible PBX 2020 offering for CentOS 7 is built from source code on the fly which typically takes about 30 minutes once you have your CentOS 7 Minimal platform in place. And, of course, Incredible PBX 2020 for CentOS 7 can be installed on any platform offering a CentOS 7 base image. Unlike most of the other Asterisk aggregations, all Incredible PBX 2020 offerings include both Asterisk and FreePBX® source code which makes upgrades incredibly flexible whether upgrading Asterisk 16 to the latest, trying out Asterisk 17, or updating FreePBX 15 modules.
Upgrading to the Latest Asterisk 16 Release. All Incredible PBX 2020 platforms include an Asterisk 16 upgrade script in the /root folder which will build you the latest release of Asterisk 16 from source code. It also provides the flexibility to choose which modules to include in the build as well as whether to enhance performance on a particular platform by turning on the BUILD_NATIVE Compiler Flag, a feature that is not available with packaged RPMs.
Upgrading to the Latest Asterisk 17 Release. Appreciating that some of you like to live on the bleeding edge, we now have released an Asterisk 17 upgrade script for the CentOS 7, VirtualBox, VMware, and CrownCloud platforms. Just issue the following commands, and you’ll be off to the races.
cd /root wget http://incrediblepbx.com/upgrade-asterisk17.tar.gz tar zxvf upgrade-asterisk17.tar.gz rm -f upgrade-asterisk17.tar.gz ./upgrade-asterisk17
Updating Your FreePBX 15 Modules. While the Module Admin utility in FreePBX gives you the flexibility to update any or all of your FreePBX modules, a simpler method is available to do a bulk upgrade from the Linux CLI. After logging into your PBX as root, issue these commands:
rm -f /tmp/* fwconsole ma upgradeall fwconsole reload /root/sig-fix systemctl restart apache2 /root/sig-fix
Regardless of the Incredible PBX 2020 platform you choose, always remember our Automatic Update Utility will keep your PBX current, running reliably, and as bug-free as we possibly can make it. No one else in the VoIP community has anything close. Enjoy the free ride!
Originally published: Monday, August 24, 2020
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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special 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.
- We don’t make a dime on the CrownCloud platforms, and the on-premise, VirtualBox, and VMware offerings all are free. [↩]
Virtual Paradise: It’s Incredible PBX 2020 for VMware
Let’s face it. Virtual Machines are the future of server administration. Whether you prefer your own dedicated hardware or cloud-based resources managed by you or someone else, virtual platforms are the way to go. You get more bang for the buck out of your hardware by pooling resources for multiple tasks. VMware® and VirtualBox® make it easy. Today we’re pleased to introduce a summer refresh of our VMware build. It provides the latest Asterisk® 16 and FreePBX® 15 components and now includes Incredible Fax featuring HylaFax and AvantFax. All are built from source, and the install only takes a few minutes.
Just download the VMware tarball image from SourceForge to your desktop. Fire up your browser and login to your VMware Web Console. With a few mouse clicks, you’ll have a CentOS 7 platform in place with Incredible PBX® and Incredible Fax just a single keystroke away. It doesn’t get much easier. And, you get the very latest release of Asterisk 16 compiled from source code that you can actually examine, enhance, and share… just like the GPL license says.
Choosing a Virtual Machine Platform
Making the right deployment choice for your virtual machine platform depends upon a number of factors. We’ve already sung the praises of VirtualBox so we won’t repeat it here. VMware also is rock-solid and has been for decades. VMware typically runs on dedicated hardware. If you don’t have the funds for a hardware purchase to support your virtualization requirements, then VirtualBox on your desktop machine is a no-brainer. For many, however, some separation of the virtualization environment from your desktop computing environment is desirable. That choice is equally easy. VMware wins, hands down. Better yet, you can make snapshot backups of your virtual machines in seconds with a single button click. If you’ve wrestled with backups on standalone hardware with Linux, you’ll quickly appreciate the difference.
Getting Started with VMware ESXi
Many of you have VMware platforms already in place at work. For you, installing Incredible PBX 2020 is as simple as downloading the image to your desktop and importing it into your existing platform. Better yet, your system administrator can do it for you. If you’re new to VMware, here’s an easy way to get started, and the software won’t cost you a dime. VMware offers a couple of free products that will give you everything you need to run a robust VMware platform on relatively inexpensive hardware. The choice is up to you.
A Free VMware Platform for SOHO Apps
Before you can download the components for the free VMware ESXi platform, you’ll need to sign up for a free account at my.vmware.com. Once you’re signed up, log in and follow these simple steps to sign up for a free ESXi license key and download the ESXi version 6 software:
- Write down your assigned License Key
- Manually download the VMware vSphere Hypervisor 6.5 ISO
- Manually download the VMware vSphere Client 6.5
Next, burn the ISO to a CD/DVD and boot your dedicated VM hardware platform with it. Follow the instructions to complete the install. Next install the vSphere Client on a Windows computer, if desired. Don’t forget to add your ESXi License Key when you complete the installation. Once the ESXi server is up and running, you can stick the hardware on a shelf somewhere out of the way. You will rarely interact with it. That’s all handled using the VMware Web Console. Don’t forget to apply your License Key once VMware ESXi is up: Virtual Machines -> Licensing -> Apply License.
Installing the vSphere Web Client
Most of the feature set of the former Windows vSphere Client now is available from the convenience of your browser. Just point it to the IP address of your VMware server like this: https://ip-address/ui/.
Here’s how to install the vSphere Web Client:
1. Log into the console of your ESXi server as root using your root password.
2. Press F2 to Customized System.
3. Choose Troubleshooting Options.
4. Choose Enable SSH.
5. Using a Terminal window on a Mac or Linux machine or using Putty with Windows, log into the IP address of your ESXi server as root.
6. Issue the following commands to install the latest vSphere Web Client vib and disable http firewall blockage:
esxcli software vib install -v http://download3.vmware.com/software/vmw-tools/esxui/esxui-signed-latest.vib esxcli network firewall ruleset set -e true -r httpClient
7. Using a web browser, login to the web client as root at https://ESXi-server-IP-address/ui/
8. Should you ever wish to remove the web client from your server:
esxcli software vib remove -n esx-ui
9. You may wish to disable SSH access when you’re finished. Just repeat steps 1-4 above.
Here’s what a typical Incredible PBX Virtual Machine looks like in the web client once you’ve added the VMware Tools to your virtual machine as documented below. There’s even a Console window.
Under the Virtual Machines tab, you now can manage and add new VMs directly.
Installing VMware Tools in a Virtual Machine
If you plan to manage your virtual machines using the vSphere Web Client and a browser, then you definitely will want to install the VMware Tools in each of your virtual machines.
For ESXi 6.5, install the new GPL VMware open-vm-tools. Here’s how:
1. Start up your VM and login to the VM as root using SSH or Putty.
2. From the Linux CLI, issue the following commands:
yum -y install --enablerepo=epel open-vm-tools reboot
Special thanks to John Borhek (@unsichtbarre on the PIAF Forum) for the VMware lessons. 🙂
Deploying the Incredible PBX Template
Deploying an Incredible PBX template only takes a few minutes, but first you need to download the Incredible PBX 2020 tarball template from SourceForge onto your Desktop PC. Then untar the tar.gz file which will create the IncrediblePBX folder with the VMware image components.
Once the Incredible PBX template components are on your desktop, here are the install steps:
1. Using a browser, login to the VMware Web Console using the root account you set up when you installed ESXi. Choose File, Deploy OVF/OVA Template.
2. Drag-and-drop the IncrediblePBX folder from your Desktop PC onto the web console.
3. Click Next.
4. Give the new Virtual Machine a name.
5. IMPORTANT: Choose Thin Provision option and click Next.
6. Review your entries and click Next to create the new Virtual Machine.
7. It only takes a few minutes to create the new Virtual Machine.
8. The Main Client window will redisplay and your new VM should now be shown in the left panel. (1) Click on it. (2) Then click the Green start icon. (3) Then click the Console Window icon.
9. When the VM’s Console Window opens, click in the window in the black area. Log into your virtual machine as root using the default password: password.
10. To complete the Incredible PBX 2020 setup, you will automatically be walked through the short installation procedure when you start the virtual machine. Following the automatic reboot, just log in a second time as root and the install will complete. We recommend using SSH for your second login so that your desktop PC gets whitelisted in the Incredible PBX firewall.
11. Set up the proper time zone for your server: /root/timezone-setup.
12. Reset admin passwords by running: ./admin-pw-change, ./apache-pw-change, and ./avantfax-pw-change.
13. Choose an email delivery address for your faxes: ./avantfax-email-change.
That should be enough tutorial for today. Enjoy your new VMware platform.
Continue Reading: Configuring Extensions, Trunks & Routes
Don’t Miss: Incredible PBX Application User’s Guide covering the 31 Whole Enchilada apps
Originally published: Monday, February 17, 2020 Updated: Sunday, August 16, 2020
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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special 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.
Finding the Perfect Laptop: Meet the System76 Lemur Pro
While we’ve been hunkered down in Vero Beach dodging the Covid-19 bullets, we spent a little time searching for a turnkey Linux notebook computer that could do everything a MacBook Pro could do… and more. The machine had to offer PORTS WITHOUT DONGLES plus the added benefits that only a pure Linux platform could provide. For $1099, our dream machine has arrived. The Lemur Pro is custom-built which means you order the 2.2 pound base computer with its 14-hour battery and then choose your operating system, CPU, RAM, storage devices, and warranty period. Shipping in the U.S. is free. We ended up at $1,322.21. In addition to 2 USB 3.0 Type-A slots, an HDMI port, a USB 3.1 Type-C w/ DisplayPort 1.2a, touchpad, stereo speakers, an audio jack, a webcam, and a backlit keyboard, the icing on the cake was a microSD slot which made the machine perfect for Raspberry Pi development.
Software, of course, has always been what separated the Mac from the Linux desktops. No more! The System76 developers of the Lemur Pro have released their own flavor of Ubuntu. It’s a refined and open source desktop environment with most of the modern feature set available in either Windows or Mac OS. You can read all about Pop!_OS here. You can even download an ISO suitable for installation in VirtualBox if you just want to try it out for free.
In addition to a robust desktop solution out of the box, Pop!_OS also includes an Automatic Update Utility to push out security fixes and software updates. And they have a terrific Pop!_Shop, an apt front-end, which is similar to Android’s Play Store or Apple’s App Store. All of the apps in Pop!_Shop have been engineered to work within Pop!_OS seamlessly, and they do. We also encountered no issues installing a traditional LAMP stack, PHPmyAdmin, VirtualBox, OpenVPN, or Twinkle, a SIP client to connect to Asterisk® and IncrediblePBX®. Of course you also can run the VirtualBox image of Incredible PBX 2020 on the Lemur Pro. And, if you’re ever curious how we build Incredible PBX images for the Raspberry Pi, here’s our soup-to-nuts tutorial using the Lemur Pro. We’ve also built the images for CrownCloud and VirtualBox on the Lemur Pro. So life is good.
Booted up a Windows machine, or a Mac, or even an iPad Pro lately? Then you already know it takes about as long as making your own breakfast. Imagine our surprise with the Lemur Pro when the login prompt appeared in less than 10 seconds. There are other clever touches that are too numerous to mention. One that jumps out is our pet peeve about the MacBook Pro. Whenever your wrist happens to slide over the touchpad while you’re typing, the cursor magically jumps to some random place in your document as you continue to type. With the Lemur Pro, the touchpad is disabled whenever you are actively typing. Brilliant!
Did we mention the tutorials? They are equally brilliant. Here’s one of many examples. In addition to a Quick Start Guide, there’s even a service manual. Remember those?
System76 purchases come with a 30-day, money back guarantee. What are you waiting for?
Originally published: Tuesday, August 4, 2020
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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special 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.