Home » Posts tagged 'google voice' (Page 8)
Tag Archives: google voice
Santa’s Secret: Deploying Google Pixel as a Free VoIP Phone
Nov. 21 UPDATE: As rumored, RingPlus has now announced the termination of ALL existing plans. Details here.
NEWS FLASH: We interrupt our normal editorial schedule to bring you this update. Many of our readers joined us in embracing RingPlus cellular service with the promise of free monthly calling in exchange for a modest upfront contribution. As with almost every something-for-nothing deal, it looks as if the death spiral may have begun with the abrupt termination of more than a dozen RingPlus plans. Even if your plan was not affected in Round #1, it’s probably a good time to begin making some contingency plans particularly if RingPlus is your only cellular provider. We already had prepared the article which follows when this news broke, but you can read between the lines to see that it makes even more sense should RingPlus leave you in the lurch with a smartphone and no cellular service. Here’s the email we received announcing the following RingPlus discontinued plans:
Commitment
Commitment (Member+)
Free Plan
Future – Phase 11
Future – Phase 3
Future – Phase 5
Future – Phase 6
Future – Phase 9
Leonardo 2
Leonardo 3
Michelangelo
Midsummer Night’s Dream
Seashore (Memorial Day)(Non-Member+ Upgrade)
Truly Free
Truly Free 2
Truly Free 3
We always like a challenge. And Google’s new Pixel phone seemed like a perfect candidate to determine whether we could do everything a normal mobile phone could do (and more) using no cellular service. In other words, we wanted to set up our Pixel without a SIM card and see if there was anything we couldn’t do that we’d normally expect out of a top-of-the-line mobile phone. There’s one obvious prerequisite. The Pixel needs an Internet connection. This could be a normal WiFi network connection, or it could be a connection using an LTE-powered WiFi HotSpot, or it could be a WiFi connection established through tethering to an existing smartphone.
Why Would You Do Such a Thing? We can think of a number of reasons. Most importantly, it’s considerably cheaper than adding another mobile phone to your cellular plan unless you happen to use AT&T’s "unlimited" plan where the fourth mobile phone is free. But, typically, adding a mobile phone to your cellphone plan will cost you $50 a month or more before you make the first call. Second, some of us like the flexibility of having BOTH an iPhone and an Android phone because of differences in features and functionality. Third, it’s a perfect way to introduce younger children to mobile phone technology without spending an arm and a leg on cellular service. No, you probably wouldn’t buy them a Pixel which is priced like an iPhone. But you get the idea.
What’s a Typical Use Case for a Non-Cellular Mobile Phone? We can think of several scenarios where this makes perfect sense. We happen to have a Verizon HotSpot that’s still on an unlimited data plan. While it costs almost $100 a month, it lets 7 devices connect to blazing fast LTE service at zero additional cost. If you travel with a group of people that all need mobile phones and that typically travel or work together except when alternative WiFi service is available, this is a real deal. For those with a newer vehicle that includes a WiFi HotSpot or an OBD-II diagnostics port1 and AT&T’s $100 ZTE Mobley device, mobile phones and tablets in the car or truck work perfectly without a cellular connection. And AT&T now lets you add a vehicle’s stand-alone WiFi hotspot or ZTE Mobley to their unlimited data plan for $40 $20 a month.2 If you have four kids and a spouse, you can do the math. Finally, if you and your family or business associates spend 95% of the day either at home or in an office or car with WiFi, everyone now gets the flexibility of a mobile phone with no recurring cost.3
VoIP Requirements for a Non-Cellular Mobile Phone. As we’ve said many times, the beauty of VoIP technology is not having to put all your eggs in one basket. So there’s really no reason to deploy a single technology. In the Google world, that means you can take advantage of Google’s rich collection of messaging applications such as Hangouts and Allo and Duo while also deploying Skype, Facebook Messenger, WebRTC and SIP-based services to connect to traditional hosting providers and PBXs such as Incredible PBX and PIAF5 powered by 3CX (shown below). Today we’ll walk through the setup process for all of these. When we’re finished, you’ll have crystal-clear phone calls as well as SMS messaging with something you don’t get with a cellular provider, multiple layers of redundancy.
What Does All of this Really Cost? You obviously have to purchase either a Pixel or some other Android phone. When we’re finished today, you’ll be able to make calls as well as send and receive SMS messages in multiple ways. Calls and SMS messages to U.S. and Canada destinations are free using Google’s services. Skype-to-Skype calls worldwide are free. SMS messages sent and received using Pinger/Textfree as well as Facebook Messenger are also free of charge. Calls placed and received using a RingPlus SIP account are free up to your monthly allocation of free minutes, typically 1,000 to 5,000+ minutes per month. With calls made using a SIP softphone or WebRTC connection to an Incredible PBX or PIAF5 PBX, you only pay the standard VoIP tariff for the calls, typically less than a penny a minute for domestic calls. Calls to many international destinations are free using FreeVoipDeal.com.
Numerous SIP softphones for Android devices are available at no cost including Zoiper, CSipSimple and many others. Still others are available for less than $10 and can be installed on as many Android devices as you happen to own, e.g. Acrobits and Bria. And, of course, the 3CX softphone above is free with PIAF5. Stick with softphones with 4 stars or better!
Putting the VoIP Pieces in Place on the Pixel. Once you have your SIM-free phone in hand and you’ve gone through the basic setup using a WiFi connection in your home or office, then it’s time to add the components you’ll need to turn your Pixel into a fully-functioning VoIP phone. If they’re not already on your phone, download the following apps from the Google Play Store: Hangouts, Hangouts Dialer, Allo, Duo, Skype, Facebook Messenger, Textfree, Port Knocker,4 DynDNS Client,5 and the VoIP softphones of your choice.
We recommend reserving the Google Voice number associated with the primary Gmail account on your Pixel for use with Hangouts, Allo, and Duo. The reason is that you can’t really use these services satisfactorily while also using the same Google Voice number with Google Chat and the Asterisk® XMPP module. Last week’s Nerd Vittles tutorial will walk you through obtaining a second Google Voice number to use with Incredible PBX or PIAF5.
Pictured above is the layout we actually use. Keep in mind that the bottom row stays in place as you scroll through other screens on your smartphone. Long-press on an existing icon on the bottom row and drag it off the row. Then long-press on the app you want to add and drag it onto the bottom row. We recommend replacing the default Phone and Messaging apps with the Hangouts Dialer and Allo (as shown). We also include a SIP softphone on the bottom row which gives you multiple ways to place and receive calls.
[soundcloud url="https://api.soundcloud.com/tracks/293184354″ params="auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true" width="400″ height="300″ iframe="true" /]
But I Really Want a Cellphone Provider. Yes, we hear you. Backup cellphone service has its virtues. Here are 3 Android phones from Google ranging in price from $199 to $649 with easy payment plans ranging from $8 to $27 a month. Each gives you unlimited domestic calling as well as unlimited domestic and international texting with multiple cellphone carriers. Rates start at $20 a month plus $10/GB for data. You even get bill credits for any data you don’t use. Project Fi is worth a careful look if you’re on a budget and limit most of your data usage to WiFi connections. Here’s a great article explaining the pro’s and con’s of Project Fi after six months of actual usage. Also check out HillClimber’s comment below which documents a terrific deal with T-Mobile that provides 100 talk minutes and 5GB of 4G data monthly plus unlimited streaming of music and video for $30 a month.
Bottom Line. On the Pixel phone we have the following services activated and functioning reliably: Google Voice with Hangouts, Allo and Pinger for SMS messaging, Bria for VoIP calling with Incredible PBX for XiVO, CSipSimple and Zoiper for SIP calling with RingPlus, Facebook Messenger, Skype, plus the 3CX Dialer for calling with PIAF5 powered by 3CX. That translates into 5 different phone lines supporting free incoming and outgoing voice calls, plus 2 additional lines for free SMS messaging, plus the Facebook and Skype services to reach over a billion people worldwide at no cost. And both the PIAF5 and XiVO lines can support calls via multiple trunks using customized dial prefixes. Even with all these services running, the Pixel has sufficient horsepower to make it through a busy day, and a 15-minute charge buys you another 7 hours of cellphone usage. What are you waiting for?
Published: Wednesday, November 16, 2016
Need help with Asterisk? Visit the PBX in a Flash 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.
Some Recent Nerd Vittles Articles of Interest…
- OBD-II port is mandatory on vehicles sold in the U.S. since 1996. But you may not need a vehicle at all. 🙂 [↩]
- DirecTV service is no longer required to take advantage of AT&T’s Unlimited Data Plan offering as of mid-March, 2017. [↩]
- We drove our daughter to the school bus stop in I’On Village recently and happened to check for WiFi access because the cellular service was so horrible. There were 27 separate WiFi HotSpots, all of which were secured. Seems we weren’t the only ones having difficulty with cell service in the neighborhood. [↩]
- We strongly recommend setting up PortKnocker with the credentials found in /root/knock.FAQ on your Incredible PBX server. This will provide a back door to assure that you aren’t inadvertently locked out of your server by the Incredible PBX firewall while you are traveling. [↩]
- You’ll need to set up a dynamic DNS client on your Android phone in order to keep your IP address updated and whitelisted with the Incredible PBX firewall. [↩]
VoIPtopia: Google Services with Incredible PBX and PIAF5
It’s been a while since we provided a fresh look at Google Voice, Google SMS messaging, and Google’s Speech Recognition labyrinth which have been integral components of Incredible PBX for many years. For those living in the United States, here’s a soup-to-nuts tutorial to get all of the services deployed quickly on any Incredible PBX platform including XiVO and Elastix as well as on the new freeware releases of Ombutel and PBX in a Flash 5 powered by 3CX. On most of the platforms, you can deploy Google Voice services directly; however, with PIAF5, Elastix, and Ombutel you’ll need to set up a SIP trunk using the Simonics SIP to Google Voice gateway to take advantage of free calling in the U.S. and Canada with Google Voice.
Implementing Google Voice with Incredible PBX
Before you can obtain Google Voice service to make free calls in the U.S. and Canada, you’ll need several things: (1) a Google account, (2) access to a computer with an IP address in the United States, and (3) a U.S. phone number to verify your residence for Google Voice.
To get started, sign up for a Gmail account here:
Once your Gmail account is created, click Allow and then Allow and Remember when prompted whether to Allow Gmail to run "Google Talk."
In a separate tab of the same browser, go to Google Voice to sign up for an account. Begin by choosing whether to obtain a new phone number for Google Voice or whether you wish to use an existing mobile phone number that you already own. Next, choose a forwarding phone number which will ring when your Google Voice number is called. NOTE: You do not need to keep this activated on your account once it is completely set up. Be advised that Google also plays games with certain phone numbers such as pretending to ring them when, in fact, they haven’t placed a verification call at all. This usually is because of prior abuse of the number with the Google Voice service or because you’ve gotten greedy and signed up for too many free numbers. If a number doesn’t work for verification, you’ll need to choose another number. And it’s usually a good idea to create additional Google Voice accounts from different IP addresses. Once you complete the verification step, you can choose a phone number in an area code of your choice. Same thing holds for picking phone numbers. If you get error messages saying to "try later," what Google is really telling you is you’re a greedy bastard. Set up additional Google Voice numbers from a different computer using a different IP address and chances are the problem will go away. It did for us. 😉
Once you have your new Google Voice number, Google will drop you into the Voice Inbox. Ignore offers to activate, enable, or do anything else with Hangouts. Otherwise, you may kill the ability to use your new Google Voice number with Asterisk®.
Click on the Settings Gear icon in the upper-right corner of the window. In the Phones tab, make certain that (1) Google Chat is enabled and (2) your forwarding phone number is disabled:
In the Calls tab, make it look like this for proper Google Voice operation with Asterisk:
You now have a basic Google Voice setup on the Google side to support Asterisk calling. But the default setup uses plain-text passwords for your Google Voice account, and this is not only a security issue, but it also will cause problems if you move your Google Voice account to a different computer. For that reason, we strongly recommend setting up OAuth 2 authentication for your Google Voice account.
Obtaining an OAuth 2 Token for Google Voice
To deploy Google Voice with OAuth 2 authentication on the Incredible PBX platforms that support direct connections to Google Voice (Incredible PBX 13 and Incredible PBX for XiVO), you will first need to obtain an OAuth 2 Refresh Token from Google. On the remaining platforms that require a SIP account using the Simonics SIP to Google Voice gateway (PIAF5 powered by 3CX, Ombutel, and Elastix), you can skip this section since the Simonics site will obtain the refresh token for you as part of the signup process.
While you’re still logged into your Google Voice account, you need to obtain a refresh_token which is what you’ll use instead of a password when setting up your Google Voice accounts with Incredible PBX 13 and Incredible PBX for XiVO. Here’s how.
1. Be sure you are still logged into your Google Voice account. If not, log back in at https://www.google.com/voice.
2. Go to the Google OAUTH Playground using your browser while still logged into your Google Voice account.
3. Once logged in to Google OAUTH Playground, click on the Gear icon in upper right corner (as shown below).
3a. Check the box: Use your own OAuth credentials
3b. Enter Incredible PBX OAuth Client ID:
466295438629-prpknsovs0b8gjfcrs0sn04s9hgn8j3d.apps.googleusercontent.com
3c. Enter Incredible PBX OAuth Client secret: 4ewzJaCx275clcT4i4Hfxqo2
3d. Click Close
4. Click Step 1: Select and Authorize APIs (as shown below)
4a. In OAUTH Scope field, enter: https://www.googleapis.com/auth/googletalk
4b. Click Authorize APIs (blue) button.
5. Click Step 2: Exchange authorization code for tokens
5a. Click Exchange authorization code for tokens (blue) button
5b. When the tokens have been generated, Step 2 will close.
6. Reopen Step 2 and copy your Refresh_Token. This is the "password" you will need to enter (together with your Gmail account name and 10-digit GV phone number) when you add your GV trunk in Incredible PBX 13 GUI. On the XiVO platform, log into your server as root and run: /root/add-gvtrunk. Store this refresh_token in a safe place. Google doesn’t permanently store it!
7. Authorization tokens NEVER expire! If you ever need to remove your authorization tokens, go here and delete Incredible PBX Google Voice OAUTH entry by clicking on it and choosing DELETE option.
Switch back to your Gmail account and click on the Phone icon at the bottom of the window to place one test call. Once you successfully place a call, you can log out of Google Voice and Gmail.
Yes, this is a convoluted process. Setting up a secure computing environment often is. Just follow the steps and don’t skip any. It’s easy once you get the hang of it. Sleep well.
Configuring Google Voice Trunks with Incredible PBX
The setup procedure differs a bit with Incredible PBX for XiVO and Incredible PBX 13.
With Incredible PBX for XiVO, log into the Linux CLI with your root credentials and run: /root/add-gvtrunk. Enter your Google email address, refresh token, and 10-digit Google Voice number when prompted. Follow the instructions which appear when the script finishes, and you’ll have a functioning Google Voice trunk in less than a minute.
With Incredible PBX 13, log into the Incredible GUI as admin using a web browser. Choose Connectivity -> Google Voice -> Add Account and fill in your Google Username, Refresh Token, and 10-digit Phone Number. Check the Add Trunk and Add Outbound Route check boxes. Then click Submit. Create an Inbound Route to tell Asterisk how to route incoming calls to your 10-digit DID. Finally, log into the Linux CLI as root and restart Asterisk: amportal restart.
Simonics SIP to Google Voice Gateway Setup
There’s a one-time fee of $4.99 to use the Simonics gateway if you take advantage of the Nerd Vittles signup link. All remaining Google services are free. You obviously can use the Simonics gateway with almost any PBX that supports SIP trunks, but it’s particularly well-suited for PBXs that don’t natively support Google Voice with OAuth 2 authentication such as PIAF5, Ombutel, and Elastix. To get started, you’ll need to set up an account at Simonics using your existing Google Voice credentials.
1. Using your favorite browser, log in to the Google Voice account you wish to associate with the Simonics SIP gateway. Be sure that you’ve enabled Google Chat in your Google Voice setup.
2. Using a separate tab of your browser, connect to the Simonics Google Voice Gateway site.
3. Go through the steps to register your Google Voice account with the Simonics Google Voice gateway and obtain your credentials.
4. For those using PIAF5, Ombutel, or Elastix, use another tab of your browser to open the GUI interface and create a new SIP trunk using your new Simonics SIP login credentials. With Incredible PBX 13, here’s the drill. Replace 8005551212 with your actual Google Voice number and YOUR-SIP-PW with your actual Simonics SIP password in BOTH the PEER Details and Registration String. Add your Google Voice number to the end of the Registration String like this: GV18005551212:YOUR-SIP-PW@gvgw.simonics.com/8005551212
5. Regardless of PBX platform, the next step is to create an Inbound Route for your incoming calls using either your Simonics username or the 10-digit number you entered at the end of the Registration String in step #4a. This obviously depends upon your PBX platform.
6. Create an Outbound Route for outgoing calls that should be handled by your Google Voice trunk. The CallerID number will be your Google Voice number. You cannot change it.
7. If you’d prefer to send incoming calls from the Simonics gateway to a designated SIP URI instead of the server that registered with the Simonics gateway, enter the address in the format: pbx@myserver.xyz
. For additional details, read our previous article on SIP URIs.
SMS Messaging with Google Voice
On the Incredible PBX 13 and Incredible PBX for XiVO platforms, the python setup to support SMS messaging through Google Voice is already installed. On the PIAF5, Ombutel, and Elastix platforms, you’ll first need to install it. Here’s how.
Log into your server as root using SSH or Putty and issue the following commands to install the Google Voice CLI tools:
cd /root apt-get -y install python-setuptools wget http://incrediblepbx.com/install-gv-cli chmod +x install-gv-cli ./install-gv-cli
Before the SMS messaging tools will work, there are two preliminary steps that you must complete on every platform. This is because SMS messaging with python uses plain-text passwords for Google Voice, and Google imposes new hoops that you must jump through in order to continue to use such passwords. While logged into your Google Voice account with a browser, click on this link to Enable Less Secure Apps. Next, click on this link to Activate the Google Reset Procedure. You now have a couple of minutes to actually connect to your Google Voice account from your new server using plain text passwords. This will WhiteList the IP address of your server. So let’s send an SMS message quickly so that everything gets squared away.
To Send an SMS Message Blast to one or more destinations, (1) create a message in /root/smsmsg.txt, (2) specify the SMS numbers in /root/smslist.txt, (3) insert your Google credentials (using your plaintext Google Voice password) in /root/smsblast, and (4) run /root/smsblast to send the message.
Implementing Google’s Speech Recognition API
Speech Recognition currently works with Incredible PBX 13 and Incredible PBX for XiVO only. But we’ll be collaborating with the 3CX folks to bring it to their platform soon. All of the necessary components to use speech recognition for voice dialing from the AsteriDex phonebook (411) and to take advantage of the Siri-like Wolfram Alpha service (4747) already are in place with Incredible PBX 13. While voice dialing works great with XiVO, Wolfram Alpha is just around the corner on the XiVO platform. Before you can actually use voice recognition, you’ll need a Google API key since Google handles the speech-to-text translation on the Asterisk platform thanks to Lefteris Zafiris’ terrific speech-recog AGI script. Here’s a revised step-by-step tutorial to get your API key from Google and activate it on your PBX.
Place a test call by dialing 4-1-1 and saying "Delta Airlines" when prompted. You should be connected to Delta’s reservation system. Enjoy!
Published: Monday, November 14, 2016
Need help with Asterisk? Visit the PBX in a Flash 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.
Some Recent Nerd Vittles Articles of Interest…
Free At Last: Introducing PBX in a Flash 5
Today is a big day. We are thrilled to introduce PBX in a Flash 5 powered by 3CX®. As many of you know, 3CX has been a platinum sponsor of Nerd Vittles for quite some time so this may not be a complete surprise. The good news is a new Debian-based PIAF5 ISO is now available to ease the installation process for those getting their feet wet with Linux for the first time. Debian 8 is a terrific Linux distribution used in the very best server products.
The most important change is the transition from Asterisk®/FreePBX® to 3CX. Say what, 3CX? Isn’t that a commercial product? Yes, but PIAF5 remains free for up to 8 simultaneous calls with a SIP trunk as well as 5-user web conferencing. That’s sufficient to support about 25 employees and represents a very large segment of the existing PIAF installed base. While the code is not open source, it is standards-based. Keep in mind that neither Sangoma’s FreePBX Distro® nor Digium’s AsteriskNOW® product is open source software either. When Digium decided to adopt the Sangoma business model, we decided to take a fresh look at the Unified Communications landscape. Navigating Sangoma’s licensing labyrinth coupled with the commingling of GPL modules and nagware for dozens of commercial VoIP components plus a closed source ISO was no longer an acceptable business model for us.
Some of our users prefer open source code, and we will continue to enhance Incredible PBX for XiVO in the grandest GPL tradition. But others wanted a product that offered 24×7 commercial support, and we’ve heard you loud and clear. After carefully reviewing available UC offerings, 3CX was the hands down winner in the commercial sector. Frankly, our only reservation was its Windows platform requirement. PIAF5’s new Debian ISO solves that.
In reality, what matters to users are reliability, support, upgradeability, and ease of use. 3CX has all of them in spades not to mention a feature set that is second to none. And now it’s available on the Debian platform with PIAF5.
We know some are wondering how 3CX became the new PIAF5 platform. So let’s start there.
First, the 3CX installed base includes almost 100,000 companies. That’s not downloads. And it’s not hobbyists. It’s entire companies that are actively using and relying upon 3CX for their day-to-day operations. Simply stated, 3CX is a proven, stable, and dependable product that you’d be willing to stake your business on. Many have including some of the world’s finest corporations. Stay tuned for a special PIAF5 hosting offer from our friends at Vitelity!
Second, 3CX is incredibly flexible, easy to configure, and simple to manage. Whether you’re new to PBXs or a diehard telecom guy, you’re in for a pleasant surprise when you see how intuitive 3CX is to set up and manage. Nothing comes close in the open source world.
Third, the 3CX feature set is impressive. You won’t be nickel and dimed for every component you wish to add. While there are standard and enterprise editions of 3CX as well, we think you’ll find the free version has the vast majority of components you would expect to find in any PBX, particularly for use in a home or small business. But don’t take our word for it. Review the 3CX feature comparison chart, and you can judge for yourself.
Last but not least, support is dirt cheap for end-users and free for resellers. We hope many of our long-time gurus will consider signing up as 3CX resellers and make yourself some money after all of these years wrestling with FreePBX. You won’t be disappointed!
PIAF5 deploys on premise with Linux-compatible, local hardware, or you can set it up as a virtual machine, or you can install it in the Cloud using most Linux VPS providers including Google, OVH, Digital Ocean, and Vultr. Use our referral links and take PIAF5 for a free or almost free spin for a few months while supporting Nerd Vittles. You have nothing to lose!
So there you have it. We think it was worth the wait. We encourage everyone to try out PIAF5 for yourself. And, just to repeat, Incredible PBX for XiVO isn’t going anywhere. It will remain our featured open source, GPL alternative as we move forward. And now you have a Real Choice in free alternatives with the best of both worlds, commercial and open source.
Getting Started with PIAF5 on Dedicated Hardware or a Virtual Machine. If your platform supports ISO installs, here are the simple steps to get PIAF5 up and running. First, download the PIAF5 ISO and burn it to a CD or thumb drive. Second, obtain a free license key for 3CX. Next, boot your server from the ISO image and walk through the Debian setup process. We recommend 2GB of RAM and a 20GB drive for PIAF5, but it will run on even a minimal CloudAtCost server. When the install is finished, make note of the IP address to access with a web browser to complete the setup. Enter your 3CX license key when prompted. Set up a SIP trunk with inbound and outbound call routes. Once you have the ISO and your license key in hand, the installation procedure takes less than 10 minutes.
Getting Started with PIAF5 in the Cloud. Begin by setting up a 64-bit Debian 8 platform. Obtain a free license key for 3CX. Once your Debian install is finished, log in as root using SSH or Putty and issue these commands. NOTE: What appears as the third line below needs to be added to line #2!
wget -O- http://downloads.3cx.com/downloads/3cxpbx/public.key | apt-key add - echo "deb http://downloads.3cx.com/downloads/3cxpbx/ /" | tee /etc/apt/sources.list.d/3cxpbx.list apt-get update apt-get install 3cxpbx
When the initial setup finishes, choose the Web Interface Wizard and complete the install using your favorite web browser. Enter your 3CX license key when prompted. Set up a SIP trunk with inbound and outbound call routes. Done.
Configuring Gmail as SMTP RelayHost for 3CX. 3CX has a detailed tutorial explaining how to set up your Gmail account as the SMTP relay host for 3CX. Be advised that there is one additional step before Google will authorize access from an IP address it doesn’t already have for your GMail account. In addition to Enabling Less Secure Apps (as covered in the 3CX tutorial), you also will need to activate the Google Reset Procedure while logged into your Gmail account. Otherwise, Google will block access. Once you have configured Gmail as your relay host and performed the two enabling steps above, immediately test email delivery within the 3CX GUI while Google security is relaxed: Settings → Email → TEST.
Free Calling in the U.S. and Canada with PIAF5. We know our more frugal U.S. residents are wondering if there’s a way to make free calls even with 3CX. You didn’t really think there would be a release of PBX in a Flash without Google Voice support, did you? It’s easy using the Simonics SIP to Google Voice gateway service. Setup time is about a minute, and the one-time cost is $4.99 using this Nerd Vittles link. Setup instructions for the 3CX side are straight-forward as well, and we’ve documented the procedure on the PIAF Forum.
Free Calling Worldwide with SIP URIs. There’s another free calling option as well. PIAF5 and 3CX support worldwide SIP URI calling at no cost. As part of the PIAF5 install procedure, 3CX registers an FQDN for you with one of the 3CX domains if you indicate that your server has a dynamic IP address. Unless you really know what you’re doing with DNS, it’s a good idea to tell 3CX you have a dynamic IP address whether you do or not. Here’s why. Once you have an assigned FQDN in the 3CX universe, one very slick feature is the ease with which you can publish a SIP URI address for any or all of your 3CX extensions thereby allowing PIAF5 users to receive calls from any SIP client worldwide at no cost. Setup takes less than a minute. It’s as easy as 1-2-3. Here’s how:
1. Login to the 3CX GUI and go to Settings → Network → FQDN. Tick "Allow calls from/to external SIP URIs" and make note of your FQDN, e.g. mypiaf5server.3cx.us. Click OK.
2. For an extension to enable (e.g. 001), go to Extensions → Edit 001 → Options → SIP ID and create any desired SIP URI alias for this extension, e.g. billybob. Click OK.
3. Anyone with a SIP client anywhere worldwide can now call extension 001 using SIP URI: billybob@mypiaf5server.3cx.us.
SMS Messaging with PIAF5 and Google Voice. Just to demonstrate why you’re going to love the new PIAF5 platform, here’s a sneak peek at one of many applications which are on the way with Incredible PBX for PIAF5. Meet SMS Messaging. First, complete the two Google enabling steps documented in the Gmail SMTP RelayHost section above: Enable Less Secure Apps and Activate Google Reset Procedure. Then install the Google Voice CLI tools as root:
cd /root
apt-get -y install python-setuptools
wget http://incrediblepbx.com/install-gv-cli
chmod +x install-gv-cli
./install-gv-cli
To Send an SMS Message Blast to one or more destinations, (1) create a message in /root/smsmsg.txt, (2) specify the SMS numbers in /root/smslist.txt, (3) insert your Google credentials into /root/smsblast, and (4) run /root/smsblast to send the message. Enjoy!
Published: Wednesday, October 19, 2016
Commercial PBX in the Cloud plus Free U.S./Canada Calling for Life: $15.45 one-time cost https://t.co/pSPXJrJIC9 #asterisk #GoogleVoice #3CX pic.twitter.com/a8qsY1IxYY
— Ward Mundy (@NerdUno) October 17, 2016
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.
Some Recent Nerd Vittles Articles of Interest…
Introducing Incredible PBX with XiVO Snapshots
If you’ve been following along in our XiVO adventure with Incredible PBX, you already know that there were a significant number of configuration hoops to jump through once the base install was finished. While these steps are well documented in the original Incredible PBX for XiVO tutorial, there still were plenty of opportunities for typos and skipping steps. Any misstep could spell the difference in a perfectly functioning PBX and one that couldn’t make or receive calls. Today we’re pleased to report that approach is now going the way of cars with a stick shift. If you want to continue to manually configure your XiVO PBX, you still have that option. Just jump to the original tutorial and run the installer choosing the options you wish to activate. But if you prefer a self-driving Tesla, that’s now an option as well. Continue reading, and we’ll walk you through using XiVO Snapshots.
A XiVO Snapshot is just what the name implies. It’s a snapshot of a working XiVO PBX that has virtually everything already configured: SIP settings to work with Asterisk®, a SIP extension to work with a SIP phone, or softphone, or WebRTC plus your cellphone, SIP and Google Voice trunk setups for most of the major commercial providers, and default inbound and outbound routes to ease the task of routing calls into and out of your PBX. Basically, you plug in your credentials from your favorite provider after running the Incredible PBX for XiVO installer with all Incredible PBX options enabled. Then you tell XiVO how to route the calls, and you’re done. You can have a stable and functional PBX making calls to anywhere in the world in a matter of minutes. Then you can review our numerous tutorials to add additional bells and whistles while you’re already enjoying a fully functional PBX.
Incredible PBX for XiVO Installation Overview
Before we roll up our sleeves and walk you through the installation process, we wanted to provide a quick summary of the 10 Basic Steps in setting up Incredible PBX for XiVO. By the way, the whole process takes less than an hour!
- Set Up Desired PBX Platform: Stand-alone PC, Virtual Machine, or Cloud-Based Server
- Run the Incredible PBX for XiVO installer and Activate All Options
- Set Up One or More SIP or Google Voice Trunks for Your PBX
- Tell XiVO Where to Direct Incoming Calls from Each Trunk
- Tell XiVO Which Trunk to Use for Every Outbound Calling Digit Sequence
- Set Up a SoftPhone or WebRTC Phone (or both)
- Decide Whether to Activate Simultaneous Ringing on your Cellphone
- Add Google Speech Recognition Key (if desired)
- Activating DISA with Incredible PBX for XiVO (if desired)
- Test Drive Incredible PBX for XiVO
1. Incredible PBX for XiVO Hardware Platform Setup
The first step is to choose your hardware platform and decide whether you want to babysit a server and network or leave those tasks to others. We’ve taken the guesswork out of the setups documented below. The last four options are cloud providers, each of whom provides a generous discount to let you kick the tires. So click on the links below to review the terms and our walkthrough of the setup process on each platform.
- XiVO Platform Tutorial: Installing XiVO on a Dedicated PC
- XiVO Platform Tutorial: Installing XiVO VM on VirtualBox
- XiVO Platform Tutorial: Installing XiVO VM on VMware ESXi
- XiVO Platform Tutorial: Installing XiVO VM at ImpactVPS
- XiVO Platform Tutorial: Installing XiVO VM at Vultr
- XiVO Platform Tutorial: Installing XiVO VM at OVH.com
- XiVO Platform Tutorial: Installing XiVO VM at Digital Ocean
- XiVO Platform Tutorial: Installing XiVO VM at CloudAtCost
- XiVO Platform Tutorial: Manually Installing XiVO and Debian 8
If your situation falls somewhere in between all of these, here’s a quick summary. For stand-alone systems and virtual machine platforms that you own (such as VirtualBox and VMware ESXi), download and install the 64-bit version of XiVO using the XiVO ISO. For most other virtual machine platforms in the Cloud, you’ll start by creating a 64-bit Debian 8 virtual machine with at least 1GB of RAM and a 20GB drive.
2. Running the Incredible PBX for XiVO Installer
Once you have your hardware platform up and running, the rest of the initial setup process is easy. Simply download and run the Incredible PBX for XiVO installer. On some platforms, it first updates Debian 8 to current specs and reboots. Then log back in and rerun the installer a second time. You will be prompted whether to activate about a dozen applications for Incredible PBX. Choose Y for each option if you want to take advantage of the XiVO Snapshot with all components preconfigured. Otherwise, you’ll need to jump over to the original tutorial and manually configure all of the XiVO components.
cd /root wget http://incrediblepbx.com/IncrediblePBX13-XiVO.sh chmod +x IncrediblePBX13-XiVO.sh ./IncrediblePBX13-XiVO.sh
3. Setting Up SIP and Google Voice Trunks with XiVO
There are two steps in setting up trunks to use with Incredible PBX. First, you have to sign up with the provider of your choice and obtain trunk credentials. These typically include the FQDN of the provider’s server as well as your username and password to use for access to that server. Second, you have to configure a trunk on the Incredible PBX for XiVO server so that you can make or receive calls outside of your PBX. As with the platform tutorials, we have taken the guesswork out of the trunk setup procedure for roughly a dozen respected providers around the globe. In addition, XiVO Snapshots goes a step further and actually creates the trunks for you, minus credentials, as part of the initial Incredible PBX install.
For Google Voice trunks, log into your server as root and run ./add-gvtrunk. When prompted, insert your 10-digit Google Voice number, your Google Voice email address and OAuth 2 token. The native Google Voice OAuth tutorial explains how to obtain it.
For the other providers, review the setup procedure below and then edit the preconfigured trunk for that provider by logging into the XiVO web GUI and choosing IPX → Trunk Management → SIP Protocol. Edit the setup for your provider (as shown above) and fill in your credentials and CallerID number in the General tab. Activate the trunk in the Register tab after again filling in your credentials. Save your settings when finished. No additional configuration for these providers is required when using the XiVO Snapshot.
- XiVO Trunks Tutorial: Installing a Vitelity SIP Trunk
- XiVO Trunks Tutorial: Installing a VoIP.ms SIP Trunk
- XiVO Trunks Tutorial: Installing a RingPlus SIP Trunk
- XiVO Trunks Tutorial: Installing a FreeVoipDeal (Betamax) SIP Trunk
- XiVO Trunks Tutorial: Installing a Google Voice-Simonics SIP Trunk
- XiVO Trunks Tutorial: Deploying Native Google Voice with OAuth Trunks
- XiVO Trunks Tutorial: Installing an Anveo Direct Outbound SIP Trunk
- XiVO Trunks Tutorial: Installing a Skype Connect SIP Trunk
- XiVO Trunks Tutorial: Installing a LocalPhone SIP Trunk
- XiVO Trunks Tutorial: Installing a CallCentric SIP Trunk
- XiVO Trunks Tutorial: Installing a FlowRoute SIP Trunk
4. Directing Incoming Calls from XiVO Trunks
Registered XiVO trunks typically include a DID number. With the exception of CallCentric, this is the number that callers would dial to reach your PBX. With CallCentric, it’s the 11-digit account number of your account, e.g. 17771234567. In the XiVO web GUI, we use IPX → Call Management → Incoming Calls to create inbound routes for every DID and trunk associated with your PBX. Two sample DIDs have been preconfigured to show you how to route calls to an extension or to an IVR. To use these, simply edit their settings and change the DID to match your trunk. Or you can create new incoming routes to send calls to dozens of other destinations on your PBX.
5. Routing Outgoing Calls from XiVO to Providers
Outgoing calls from extensions on your XiVO PBX must be routed to a trunk provider to reach call destinations outside your PBX. Outgoing call routing is managed in IPX → Call Management → Outgoing Calls. You tell XiVO which trunk provider to use in the General tab. Then you assign a Calling Digit Sequence to this provider in the Exten tab. For example, if NXXNXXXXXX were assigned to Vitelity, this would tell XiVO to send calls to Vitelity if the caller dialed a 10-digit number. XiVO has the flexibility to add and remove digits from a dialed number as part of the outbound call routing process. For example, you might want callers to dial 48NXXNXXXXXX to send calls to a Google Voice trunk where 48 spells "GV" on the phone keypad. We obviously don’t want to send the entire dial string to Google Voice so we tell XiVO to strip the first 2 digits (48) from the number before routing the call out your Google Voice trunk. We’ve included two examples in the XiVO Snapshot to get you started. Skype Connect (shown below) is an example showing how to strip digits and also add digits before sending a call on its way:
6. Setting Up Softphone & WebRTC to Connect to XiVO
If you’re a Mac user, you’re lucky (and smart). Download and install Telephone from the Mac App Store. Start up the application and choose Telephone:Preference:Accounts. Click on the + icon to add a new account. To set up your softphone, you need 3 pieces of information: the IP address of your server (Domain), and your Username and Password. In the World of XiVO, you’ll find these under IPBX → Services → Lines. Just click on the Pencil icon beside the extension to which you want to connect. Now copy or cut-and-paste your Username and Password into the Accounts dialog of the Telephone app. Click Done when you’re finished, and your new softphone will come to life and should show Available. Dial the IVR (4871) to try things out. With Telephone, you can use over two dozen soft phones simultaneously on your desktop.
For everyone else, we recommend the YateClient softphone which is free. Download it from here. Run YateClient once you’ve installed it and enter the credentials for the XiVO Line. You’ll need the IP address of your server plus your Line username and password associated with the 701 extension. On the XiVO platform, do NOT use an actual extension number for your username with XiVO. Go to IPBX Settings → Lines to decipher the appropriate username and password for the desired extension. Click OK to save your entries.
WebRTC allows you to use your Chrome or Firefox browser as a softphone. Extension 701 comes preconfigured for WebRTC access with Incredible PBX for XiVO. It shares the same password as the Line associated with extension 701, but the username is 701 rather than the username associated with the Line. You can decipher the password by accessing the XiVO Web GUI and then IPBX → Services → Users → Incredible PBX → XiVO Client Password.
To use WebRTC, you first need to accept the different SSL certificates associated with the WebRTC app. From your browser, go to the following site and click on each link to accept the certificates. Once you’ve completed this process, visit the XiVO WebRTC site. The Username is 701. The Password is the one you obtained above. The IP Address is the address of your XiVO PBX.
7. Setting Up a CellPhone Extension with XiVO
In addition to ringing your SIP extension when incoming calls arrive, XiVO can also ring your cellphone simultaneously. This obviously requires at least one outbound trunk. If that trunk provider also supports CallerID spoofing, then XiVO will pass the CallerID number of the caller rather than the DID associated with the trunk. Incredible PBX for XiVO comes preconfigured with cellphone support for extension 701. To enable it, access the XiVO Web GUI and go to IPBX → Services → Users → Incredible PBX and insert your Mobile Phone Number using the same dial string format associated with the trunk you wish to use to place the calls to your cellphone. You can answer the incoming calls on either your cellphone or the phone registered to extension 701.
8. Activating Voice Recognition for XiVO
Google has changed the licensing of their speech recognition engine about as many times as you change diapers on a newborn baby. Today’s rule restricts use to “personal and development use.” Assuming you qualify, the very first order of business is to enable speech recognition for your XiVO PBX. Once enabled, the Incredible PBX feature set grows exponentially. You’ll ultimately have access to the Voice Dialer for AsteriDex, Worldwide Weather Reports where you can say the name of a city and state or province to get a weather forecast for almost anywhere, Wolfram Alpha for a Siri-like encyclopedia for your PBX, and Lefteris Zafiris’ speech recognition software to build additional Asterisk apps limited only by your imagination. And, rumor has it, Google is about to announce new licensing terms, but we’re not there yet. To try out the Voice Dialer in today’s demo IVR, you’ll need to obtain a license key from Google. This Nerd Vittles tutorial will walk you through that process. Don’t forget to add your key to /var/lib/asterisk/agi-bin/speech-recog.agi on line 72.
9. Adding DISA Support to Your XiVO PBX
If you’re new to PBX lingo, DISA stands for Direct Inward System Access. As the name implies, it lets you make calls from outside your PBX using the call resources inside your PBX. This gives anybody with your DISA credentials the ability to make calls through your PBX on your nickel. It probably ranks up there as the most abused and one of the most loved features of the modern PBX.
There are three ways to implement DISA with Incredible PBX for XiVO. You can continue reading this section for our custom implementation with two-step authentication. There also are two native XiVO methods for implementing DISA using a PIN for security. First, you can dedicate a DID to incoming DISA calls. Or you can add a DISA option to an existing IVR. Both methods are documented in our tutorial on the PIAF Forum.
We prefer two-step authentication with DISA to make it harder for the bad guys. First, the outside phone number has to match the whitelist of numbers authorized to use your DISA service. And, second, you have to supply the DISA password for your server before you get dialtone to place an outbound call. Ultimately, of course, the monkey is on your back to create a very secure DISA password and to change it regularly. If all this sounds too scary, don’t install DISA on your PBX.
1. To get started, edit /root/disa-xivo.txt. When the editor opens the dialplan code, move the cursor down to the following line:
exten => 3472,n,GotoIf($["${CALLERID(number)}"="701"]?disago1) ; Good guy
2. Clone the line by pressing Ctrl-K and then Ctrl-U. Add copies of the line by pressing Ctrl-U again for each phone number you’d like to whitelist so that the caller can access DISA on your server. Now edit each line and replace 701 with the 10-digit number to be whitelisted.
3. Move the cursor down to the following line and replace 12341234 with the 8-digit numeric password that callers will have to enter to access DISA on your server:
exten => 3472,n,GotoIf($["${MYCODE}" = "12341234"]?disago2:bad,1)
4. Save the dialplan changes by pressing Ctrl-X, then Y, then ENTER.
5. Now copy the dialplan code into your XiVO setup, remove any previous copies of the code, and restart Asterisk:
cd /root sed -i '\:// BEGIN DISA:,\:// END DISA:d' /etc/asterisk/extensions_extra.d/xivo-extrafeatures.conf cat disa-xivo.txt >> /etc/asterisk/extensions_extra.d/xivo-extrafeatures.conf /etc/init.d/asterisk reload
6. The traditional way to access DISA is to add it as an undisclosed option in an IVR that is assigned to one of your inbound trunks (DIDs). For the demo IVR that is installed, edit the ivr-1.conf configuration file and change the "option 0″ line so that it looks like this. Then SAVE your changes.
exten => 0,1(ivrsel-0),Dial(Local/3472@default)
7. Adjust the inbound calls route of one of your DIDs to point to the demo IVR by changing the destination to Customized with the following Command:
Goto(ivr-1,s,1)
A sample is included in the XiVO Snapshot. Here’s how ours looks for the Nerd Vittles XiVO Demo IVR:
8. Now you should be able to call your DID and choose option 0 to access DISA assuming you have whitelisted the number from which you are calling. When prompted, enter the DISA password you assigned and press #. You then should be able to dial a 10-digit number to make an outside call from within your PBX.
SECURITY HINT: Whenever you implement a new IVR on your PBX, it’s always a good idea to call in from an outside number 13 TIMES and try every key from your phone to make sure there is no unanticipated hole in your setup. Be sure to also let the IVR timeout to see what result you get.
10. Test Drive Incredible PBX for XiVO
To give you a good idea of what to expect with Incredible PBX for XiVO, we’ve set up a sample IVR using voice prompts from Allison. Give it a call and try out some of the features including voice recognition. Dial 1-843-606-0555.
Nerd Vittles Demo IVR Options
1 – Call by Name (say "Delta Airlines" or "American Airlines" to try it out)
2 – MeetMe Conference
3 – Wolfram Alpha (Coming Soon!)
4 – Lenny (The Telemarketer’s Worst Nightmare)
5 – Today’s News Headlines
6 – Weather Forecast (enter a 5-digit ZIP code)
7 – Today in History (Coming Soon!)
8 – Speak to a Real Person (or maybe just Lenny if we’re out)
What To Do and Where to Go Next?
Here are a Baker’s Dozen projects to get you started exploring XiVO on your own. Just plug the keywords into the search bar at the top of Nerd Vittles to find numerous tutorials covering the topics or simply follow our links. Note that all of these components already are in place so do NOT reinstall them. Just read the previous tutorials to learn how to configure each component. Be sure to also join the PIAF Forum to keep track of the latest tips and tricks with XiVO. There’s a treasure trove of information that awaits.
- Activate SMS Messaging
- Configure CallerID Superfecta
- Explore Munin Graphics in XiVO
- Integrate Google Calendar Alerts
- Configure NeoRouter and PPTP VPN
- Set Up EndPoint Management in XiVO
- Customize and Create New XiVO IVRs
- Try Out SQLite3 Call Detail Reports
- Learn About XiVO Backups and Upgrades
- Deploy SIP URIs for Free Worldwide Calling
- Develop a PortKnocker Emergency Access Plan
- Deploy Redundancy with XiVO High Availability
- Install FCC RoboCall BlackList with WhiteList
- Install Siri-Like Wolfram Alpha Module
XiVO and Incredible PBX Dial Code Cheat Sheets
Complete XiVO documentation is available here. But here are two cheat sheets in PDF format for XiVO Star Codes and Incredible PBX Dial Codes.
Published: Monday, October 10, 2016
Need help with Asterisk? Visit the PBX in a Flash 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.
Some Recent Nerd Vittles Articles of Interest…
Type It or Say It: Asterisk SMS Messaging Returns with Incredible PBX for XiVO
We continue our XiVO adventure today with two simple additions to the Incredible PBX for XiVO dialplan that enable SMS messaging both from SIP phones such as the Yealink T46G and using voice recognition from any XiVO phone. To implement SMS messaging, you’ll need at least one Google Voice account configured. To implement the voice recognition option, you’ll also need to first enable voice recognition on your Incredible PBX for XiVO server.
The prerequisites for SMS Messaging from a SIP phone with XiVO look like this:
- Incredible PBX for XiVO Server
- Preconfigured Google Voice Trunk
- SIP Phone capable of SMS Messaging, e.g. Yealink T46G 1
SIP Phone SMS Messaging. To begin, login to your XiVO PBX using your favorite web browser. We need to edit the existing gv.conf file by navigating to IPX Configuration → Configuration Files → gv.conf. The first context in the file should look like this:
[subr-gv-outcall] exten = s,1,Set(XIVO_CALLOPTIONS=r) same = n,Return()
Replace the entire context by cutting and pasting the following code and substituting your actual Google Voice account name and password for yourname and yourpassword below. Then Save the file changes leaving the Reload Dialplan option checked. Be sure that the third from the last line below does NOT wrap to a separate line in the XiVO editor!
;# // BEGIN gv-outcall [subr-gv-outcall] exten = s,1,Set(XIVO_CALLOPTIONS=r) same = n,GotoIf($["${MESSAGE(body)}" = ""]?skipsms) same = n,Set(GVACCT=yourname@gmail.com) same = n,Set(GVPASS=yourpassword) same = n,System(/usr/bin/gvoice -e ${GVACCT} -p ${GVPASS} send_sms ${XIVO_DSTNUM} "${MESSAGE(body)}") same = n(skipsms),Return() ;# // END gv-outcall
Once you get this set up and since we’ll be using plain text passwords to send the SMS messages through Google Voice, you’ll need to perform these two additional steps after first logging into your Google account with a browser: (1) Enable Less Secure Apps and (2) Activate the Google Voice Reset Procedure. Now promptly send an SMS message from a phone registered to your XiVO server.
Sending SMS Messages. We obviously can’t cover the SMS messaging methodology for every SIP phone on the market. But here’s how to send an SMS message using Yealink’s T46G. First, configure one of the buttons on the phone as an extension on your XiVO PBX. Next, press the Menu button. Highlight Messages and press OK. Choose Text Message and OK. Choose New Message and OK. Type your SMS message using the keypad and press Send button. For the From: field, use the left and right arrow keys to select your XiVO extension. Press the down arrow and fill in the SMS number of your recipient just as you would do on your smartphone. Press the Send button. "Sending Message" will appear briefly on the T46G’s display. XiVO’s Asterisk CLI also will show transmission of the SMS message.
Interestingly, the same SMS functionality exists on the $29 UTP E-62 (if you can find one). Choose Menu → Applications → SMS → New. Type your SMS message using the keypad and press Send button. For the From: field, use the left and right arrow keys to select your XiVO extension. Press the down arrow and fill in the SMS number of your recipient just as you would do on your smartphone. Press the Send button. "Sending Message" will appear briefly on the UTP’s display. XiVO’s Asterisk CLI also will show the SMS transmission.
For bargain hunters that can’t find a UTP E-62, Yealink’s $50 YEA-SIP-T19P-E2 Entry-level SIP phone also appears to support SMS messaging. As with the UTP phones, you’ll need a $9 power supply unless your network supports POE.
Receiving SMS Messages. Typically reply messages to Google Voice numbers are forwarded either to an email address or to Hangouts. We don’t recommend enabling incoming mail on your XiVO PBX. Instead, add a New Alternate Email Address to your Google Voice account in Settings → Voicemail & Text. After verifying the new email address, set it as your Voicemail Notification email address and Save changes. Go back into Settings → Voicemail & Text and make certain that you have also checked the Text Forwarding checkbox which now should reflect your alternate email address. Now all of your incoming SMS messages will be delivered to this email address.
TIP: Google will no longer let you forward incoming SMS messages directly to another SMS destination, but you can cheat. If you have your own mail server or a non-Gmail account on which you can redirect incoming mail without verification, then simply set up the alternate email address as documented above. Then reroute that email address to point to an SMS-email gateway that forwards incoming messages to SMS, e.g. 8431234567@txt.att.net to send an SMS message to your AT&T cellphone. The complete list of providers is here.
SMS Dictator for XiVO. Okay. We hear you. Yes, typing SMS messages with a 12-button keypad can be tedious especially if your message is sprinkled with S’s. Pressing the 7 key eight times for every "s" in your text message is painful. If you’ve activated voice recognition on your Incredible PBX for XiVO server, then you can simply dictate your SMS messages by first dialing 767 (S-M-S) from any phone connected to your XiVO PBX. After dictating your message, you have the choice of keying in a 10-digit phone number for the SMS recipient or you can say the name of anyone in your AsteriDex phone book.
To install SMS Dictator on your Incredible PBX for XiVO server, issue the following commands and enter your Google Voice account name (with @gmail.com) and password when prompted:
cd /root wget http://incrediblepbx.com/sms-dictator-xivo.tar.gz tar zxvf sms-dictator-xivo.tar.gz rm -f sms-dictator-xivo.tar.gz ./sms-dictator.sh
3/2/2017 Update: A patched version of pygooglevoice to support SMS messaging is now available here.
Now simply dial S-M-S (767) from any phone connected to your XiVO PBX to send an SMS message. Enjoy!
Originally published: Monday, October 3, 2016
Need help with Asterisk? Come join the PBX in a Flash 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.
Some Recent Nerd Vittles Articles of Interest…
- Some 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. [↩]
2016, The Year of VoIP Choice: Redundancy and Multi-Tenant with Wazo
As we celebrate Labor Day, it seemed appropriate to document why Wazo separates the men from the boys so your phones don’t end up as boat anchors buried in the sand. Today our focus is "High Availability (HA)" and "Multi-Tenant (MT)", two very expensive options for many PBXs including some that loosely tout their platforms as free.
In the PBX context, HA means that, when your server fails, there’s another one waiting in the wings to automatically take over. Much of this technology is based upon open source tools, but Sangoma sells a pair of limited term licenses as a FreePBX® add-on for a cool $3,000 not including hardware AND annual maintenance fees. With Wazo, it’s FREE! You can pair two Raspberry Pi’s or two Cloud servers, or you can mix-and-match with any combination of servers you choose. Here’s how we did it in 3 minutes flat:
Multi-tenant has been discussed for the FreePBX platform for the better part of a decade. As best we can tell, it’s still a pipe dream. Virtual machines running separate servers are the suggested solution even though this requires managing multiple Asterisk platforms forever. With Wazo’s FREE Entities module, MT is a cake walk. We’ll walk you through the 5-minute setup process thanks to the tips provided by Amy Grant on the PIAF Forum.
Deploying Wazo HA Servers with NeoRouter
Here’s the HA setup drill. First, you build two identical Wazo platforms running the same version of Incredible PBX for Wazo. Then you set the first server up as the Master and the second one as the Slave. As we said, these servers don’t need to be on the same hardware platform. And they need not be colocated although they have to share the same private LAN. We’ll handle that little detail by taking advantage of the NeoRouter client software that’s already installed as part of every Incredible PBX for Wazo build.
Unless both of your servers reside on the same local area network, you will need to deploy a NeoRouter server somewhere, but NOT on your Wazo Master since the NeoRouter server itself would become a single point of failure should it die along with your primary server. The Slave server would be a great choice. We covered the NeoRouter Server setup a long time ago in this tutorial, but don’t use the vintage install script. Instead you’ll need to deploy a current version of the Free NeoRouter Server that matches your server platform now that we support operating systems other than CentOS. Incidentally, all of the supported Cloud platforms that we’ve documented for Wazo also support NeoRouter.
We’ve made NeoRouter Server setup easy with this script which works with CentOS/SL, Ubuntu, Debian, and Raspbian. The actual setup steps covered in our original tutorial still are the same.
cd /root wget http://incrediblepbx.com/install-neorouter-server chmod +x install-neorouter-server ./install-neorouter-server
After you have your Free NeoRouter Server in place, the next step is to run nrclientcmd on each Wazo server and login to your NeoRouter Server with your credentials. The NeoRouter Server will assign a private IP address to each machine on the NeoRouter VPN. The addresses will be in the range 10.0.0.1 to 10.0.0.255. We’ll use these assigned addresses when setting up the Master and Slave Wazo HA servers.
High Availability Prerequisites with Wazo
In the Incredible PBX for Wazo context, the prerequisites list for your two HA servers is a short one. (1) You need two functioning Incredible PBX for Wazo machines on the same local area network. (2) Both the Master and Slave must be running the same version of Wazo. (3) All trunk registration timeouts (expiry) must be less than 300 seconds. (4) The Slave server must have no phone provisioning plugins installed.
For those using Google Voice trunks with OAuth in conjunction with Incredible PBX for Wazo, keep in mind that this is NOT an integral component of Wazo so it technically is not supported. However, you can easily make it work by configuring any desired Google Voice trunks on BOTH the Master and Slave machines using add-gvtrunk before enabling High Availability. Then the Google Voice trunks will continue to work even after a failover to Slave.
High Availability Limitations with Wazo
When the Master node fails, some features are not available on the Slave:
- Call history / call records are not recorded.
- Voicemail messages saved on the Master node are not available.
- Custom voicemail greetings recorded on the Master node are not available.
- Phone provisioning is disabled, i.e. a phone will always keep the same configuration, even after restarting it.
- Phone remote directory is not accessible because the provisioned IP address points to the Master.
Configuring Your Servers for High Availability
Like most Wazo tasks, setting up High Availability on your Master and Slave servers is a 5-minute process. Begin by configuring HA in the Web interface: Configuration ‣ Management ‣ High Availability. (1) Configure the first server as Master with the Remote Address of the Slave. (2) Login to the Linux CLI of Master as root and restart Wazo: xivo-service restart. (3) For the second machine, configure the server as Slave with the Remote Address of the Master.
Next, return to the Linux CLI of Master while still logged in as root. (1) Set up file synchronization by running this script: xivo-sync -i. (2) Start configuration synchronization by running: xivo-master-slave-db-replication 192.168.1.2 using the actual IP address of your Slave. (3) Finally, synchronize the two servers by running xivo-sync on Master. Done! Isn’t it nice saving $3,000 for 5 minutes work using open source software? 🙂
If you love the nitty gritty details, you can read up on Wazo HA in their excellent documentation.
Here’s what pbxstatus will show on Master and Slave while both servers are operational:
And here’s what happens when you halt Master. Within a minute or two, your designated Slave server will come to life:
Choosing Compatible Phones for High Availability
That’s only half the story, of course. Now that you have HA up and running, the remaining trick is that you want your phones to continue to work when things switch over to Slave. To accomplish this, you’ll need to use SIP phones that are compatible with HA technology. Some are, and many are not. Wazo has made it easy for you by publishing a compatibility list. Their documentation includes Officially Supported Devices as well as Community Supported Devices. HINT: Snom, Yealink, and Aastra 6700i and 9000i series phones are your safest bets.1 Here’s what a SIP extension setup would look like on Yealink’s popular T46G:
Deploying Multi-Tenant Technology with Wazo
If you’re new to MT technology, the idea here is to provide separate extensions and trunks for use by different departments within an organization. The reasons should be obvious. These departments have separate budgets and separate clientele, and you probably don’t want the public calling a central number in order to reach everyone in an organization. And the organization wants to identify costs and log calls associated with its various departments.
Wazo handles MT using Entities. When you set up Incredible PBX for Wazo, it automatically created a single Entity named Incredible PBX. You can create additional ones and name them anything you like in the Wazo Web interface: Configuration ‣ Management ‣ Entities.
Next, create Contexts to support your new Entity. Mimic the existing contexts in IPX ‣ IPX Configuration ‣ Contexts and provide unique names for each of them. Be sure you associate each of the new contexts with the new entity you created. Then set up users, lines, trunks, and call routing for the new entity in the same way you did it for the original IncrediblePBX entity. Take a look at Amy Grant’s setup with Google Voice on the PIAF Forum for additional tips. Simple and it’s FREE!
Originally published: Monday, September 5, 2016 Updated: Saturday, January 28, 2017
9 Countries Have Never Visited Nerd Vittles. Got a Friend in Any of Them https://t.co/wMfmlhiQ9y #asterisk #freepbx pic.twitter.com/TPFGZbqWB6
— Ward Mundy (@NerdUno) April 22, 2016
Need help with Asterisk? Visit the PBX in a Flash 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.
Some Recent Nerd Vittles Articles of Interest…
- HA failover even works great using $29 UTP-E62 if you can find one. [↩]
Raspberry Pi One-Minute Wonder: A Turnkey and Truly Incredible PBX for XiVO
Hard to believe it’s been 4½ years since the introduction of the original Raspberry Pi®. We love half-birthdays, and we’ve got a blockbuster gift for you today as we celebrate the fact that almost 10 million RasPi’s have been shipped. Yes, our love affair with the Raspberry Pi lives on. The sensational Raspberry Pi 3 sports a 1.2GHz 64-bit quad-core ARM Cortex-A53 CPU with ten times the performance of the original Raspberry Pi. Of particular interest to the VoIP community will be the RasPi 3’s integrated 802.11n wireless LAN and Bluetooth 4.1 hardware. And, of course, the RasPi 3 retains its compatibility with the Raspberry Pi 1 and 2. Did we mention it’s still just $35? Because we like to celebrate half birthdays, too, we’re pleased to introduce a brand new Incredible PBX™ for XiVO image for the Raspberry Pi 3 featuring Raspbian 8, the latest release of Asterisk® 13, and XiVO. This one installs in under a minute. And, yes, it’s still FREE with pure open source GPL code.
Special Thanks. First things first. We want to extend our extra special thanks to Iris-Network for their awesome Raspivo – XiVO build. Without it and their repositories, none of this would have been possible.
Raspberry Pi 3 Performance. Gone are the days of worrying about Raspberry Pi performance. Both the user interface and call quality now match what you’d expect to find on a $300-$500 VoIP server. For best results, we recommend 32GB Class 10 microSD cards which now are plentiful at the $10 price point.1
Raspberry Pi 3 Shopping List. Before you can install Incredible PBX for XiVO, you’ll need a compatible Raspberry Pi 3 platform. Here’s the short list that, when coupled with the Incredible PBX image, turns today’s adventure into kid’s play:
$35* Raspberry Pi 3 from MCM or Newark or Amazon $10 Power Adapter (2.5 amps minimum!) $10 32GB microSDHC Class 10 card (Don’t use SanDisk Ultra!) £12.95 Pibow 3 case or $7.50 Official RasPi 3 case
About That Asterisk. We write about Asterisk® regularly, but the asterisk we’re talking about is the one accompanying the $35* price tag for the Raspberry Pi 3. Yes, that’s the advertised price. And, no, if you want one quickly, you may pay a bit more. Right now you can snag one on Amazon for $35.99 with two-day Prime shipping. We’re assuming you already own a USB keyboard and an HDMI-compatible monitor. If so, today’s going rate for all of our recommended pieces is under $65, not bad for a fully-equipped, quad-core computer. Did we mention that Incredible PBX for XiVO is FREE with NoGotchas!
Incredible PBX Feature Set. Where to begin? Let’s start with the Alphabet Stew: IAX, SIP, SMS, FAX, SRTP, and OAuth functionality. Voice Recognition and Text-to-Speech VoIP application support using Festival and Google. Free calling with Google Voice, Simonics SIP gateway, or RingPlus cellular service. And all of your Nerd Vittles favorites: AsteriDex, Click-to-Dial, News, Weather, Reminders, and even an Alarm Clock. Plus hundreds of features that typically are found in commercial PBXs: Conferencing, IVRs and AutoAttendants, Simultaneous Ringing on your Smartphone, Email Delivery of Voicemail, Voicemail Blasting, Automatic Backups, High Availability Support, Automatic Phone Setups, and much more…
Incredible PBX Network Security Model. Most phone calls cost money. Unlike many of the other "free" VoIP solutions, our most important criteria for VoIP is rock-solid security. If your free server ends up costing you thousands of dollars in phone bills due to fraud, it isn’t free at all. Once you plug in that network cable, you’ve painted a bullseye on your checkbook.
No single network security system can protect you against zero-day vulnerabilities that no one has ever seen. Deploying multiple layers of security is not only smart, it’s essential with today’s Internet topology. It works much like the Bundle of Sticks from Aesop’s Fables. The more sticks there are in your bundle, the more difficult it is to break them apart. If a vulnerability suddenly appears in the Linux kernel, or in Asterisk, or in your web server, or in your favorite web GUI, you can continue to sleep well knowing that other layers of security have your back. No one else in the telecommunications industry has anything close. You can’t hack what you can’t see, and the Incredible PBX automatically configures a WhiteList as part of the one-minute setup. And it’s all open source GPL code that you can share with anybody and everybody unlike the so-called "freeware" products. Freeware with Asterisks is anything but free!
Do your part and do your homework. Comparison shop as if your phone bill matters! 😉 Incredible PBX provides:
- Preconfigured IPtables Linux Firewall
- Preconfigured Travelin’ Man 3 WhiteLists
- Randomized Port Knocker for Remote Access
- Fail2Ban Log Monitoring for SSH, Apache, Asterisk
- Randomized Ultra-Secure Passwords
- Automatic Update Utility for Security & Bug Fixes
- Asterisk Manager Lockdown to localhost
- Security Alerts via the PIAF Forum
Incredible PBX for XiVO Installation & Setup Tutorial
Here’s everything need to know about installation and setup of Incredible PBX for XiVO. "Automatic" means you just watch.
- Download and unzip Incredible PBX for XiVO image from SourceForge (includes GV OAuth support)
- Transfer Incredible PBX image to microSD card
- Boot Raspberry Pi from new microSD card
- Login to RasPi console as root:password to initialize your server (Automatic) and expand image to match SD card
- Reboot after writing down your server IP address (Automatic)
- Login via SSH as root:password to set up passwords (You Pick ’em) & configure firewall (Automatic)
- Enjoy!
Running Incredible PBX for XiVO on the Raspberry Pi
The standard XiVO boot procedure will begin once you insert your microSD card into the Raspberry Pi 3 and apply power. Within a short time, you’ll get the familiar Linux login prompt. Login as root with a password of password.
Once you log in, a startup script will briefly configure a few things and then advise you that it’s time to reboot. Write down the IP address provided because for Phase 2 of the setup, we need to use SSH or Putty on the desktop that you will actually be using to manage your server. The reason for this is that Incredible PBX automatically creates a whitelist of IP addresses that the firewall will allow to access your server. If the IP address isn’t in your whitelist, you may lock yourself out except from the RasPi’s console window.
Once the console window shows that your server has rebooted by displaying the Linux login prompt, switch to SSH or Putty and login as root using the IP address you wrote down. You’ll then be prompted to change your root password for Linux as well as your root password for XiVO GUI access using a web browser. You’ll also need to set a PIN that will be used to authorize access to extension 123 to schedule Telephone Reminders on your server. This completes the configuration. You’ll get a final screen showing the credentials for the preconfigured extension 701 as well as a reminder that your PortKnocker credentials are stored in /root/knock.FAQ in the event you ever lock yourself out of your machine. It’s a good idea to leave this screen displayed while you install and configure a softphone since you can cut-and-paste your extension 701 credentials without having to type anything.
Once you complete the SIP softphone setup below, you can return to the SSH window and press ENTER to finish the install. The Incredible PBX Automatic Update Utility will run, and then you will be presented with the pbxstatus display. You can access the Asterisk CLI by typing: asterisk -rvvvvvvvvvv. Exit from the CLI by typing quit. As mentioned previously, always shut down your server gracefully by typing halt. When prompted for the hostname, type xivo. Once the shutdown procedure finishes, it’s safe to disconnect the power cord from your Raspberry Pi.
Beginning with the September 1 release, many of the log files have been disabled to help prolong the life of microSD cards since XiVO tends to be very chatty. If you are running an earlier release, you can follow this tutorial to disable most logging on your Raspberry Pi.
Enabling WiFi on the Raspberry Pi 3
With the Raspberry Pi 3, wi-fi hardware is included. The next step is configuring it to connect to your WiFi router. Simply open /etc/wpa_supplicant/wpa_supplicant.conf with nano and (1) edit the SSID name and password fields to authorize access to your local, password-protected WiFi router as well as any open WiFi network. (2) Also update the country code for your WiFi region, e.g. country=US. Then (3) save your changes: Ctrl-X, Y, then press ENTER.
network={ ssid="YourSSID" psk="YourSSIDpassword" key_mgmt=WPA-PSK scan_ssid=1 priority=5 } network={ key_mgmt=NONE priority=1 }
Next, enable automatic startup of the wlan0 network interface:
sed -i 's|#allow-hotplug wlan0|allow-hotplug wlan0|' /etc/network/interfaces
Finally, stop and restart the wlan0 interface, count to 15, and check pbxstatus to decipher the added private IP address for your WiFi connection:
ifdown wlan0 ifup wlan0 pbxstatus
If you want to run your Raspberry Pi exclusively off the WiFi connection going forward, simply unplug the network cable from your RasPi and reboot your server.
Choosing a SIP Softphone for Incredible PBX for XiVO
Softphones tend to be a matter of taste for most folks so we’ll keep our suggestions to a minimum. On the Windows platform, it’s hard to go wrong with X-Lite. It works out of the box by simply plugging in the IP address of your server and your SIP username and password. It also happens to be free. The only downside is that X-Lite has a nasty habit of embedding time bombs in their free software so you may have to reinstall it from time to time. If you know what you’re doing Zoiper is another alternative but be advised that it doesn’t work out of the box on servers behind NAT-based routers.
On the Mac platform, our favorite free softphone is Telephone. It’s a barebones SIP client that just works. As with X-Lite, you plug in your server’s IP address and SIP credentials, and you’re in business.
On the Linux or Solaris platforms, we assume that you know what you’re doing and that you are perfectly capable of choosing and installing a SIP phone that meets your requirements.
Incredible PBX Application Quick Start Guide
We’ve finished the basic Incredible PBX for XiVO setup. You now have a functioning PBX with dozens of applications for Asterisk that work out of the box. It’s probably a good idea to spend a little time getting acquainted with Incredible PBX for XiVO before you add trunks to communicate with the outside world.
Here’s a handy cheat sheet for some of the Incredible PBX applications that have been installed or are available as add-ons. There’s also a link for more information. This remains a work-in-progress so expect more applications in coming weeks.
- Google Voice CLI interface and SMS Message Blasting
- CallerID Superfecta – Match Names to CallerID Numbers
- CallerID Blacklist – Block Calls from Spammers and Old Girlfriends
- CDR Reports in CSV Format
- CDR Reports in SQLite3 Format
- Asteridex – The Poor Man’s Rolodex (SQLite3 version)
- AsteriDex Click-to-Dial with XiVO Phonebook
- NeoRouter VPN for XiVO
- FCC RoboCall BlackList
- CallerID WhiteList Override
- Dial 123 – Telephone Reminders
- Dial 411 – Call by Name from AsteriDex
- Dial 947 – Weather Forecasts by ZIP Code
- Dial 951 – Latest Yahoo News
- Dial 2663 – Conference Call
- Dial 3472 – DISA Access
- Dial 4871 – Allison’s Sample IVR
- Dial *61 – Time of Day
- Dial *65 – Decipher Your Extension #
- Dial 8463 – Time of Day
- Dial *881400 – Schedule an Alarm for 2 p.m. (1400 military time)
- Dial 53669 – Meet Lenny, the Robocaller’s Worst Nightmare
How To Make Easily Compressed Backups of Incredible PBX
MicroSD cards WILL wear out especially on XiVO servers with lots of activity. So it’s important to make regular backups of your media so you don’t get surprised when things come unglued down the road. After considerable discussion on the PIAF Forum, here’s the collective wisdom.
You’ll need another machine (such as a Mac or Linux box) on which to plug in the microSD card in order to make a backup image of it since you can’t back up a card that is actually providing the live platform for your PBX. The recommended methodology goes like this. Before shutting down your PBX and removing the microSD card to make the backup, convert all of the unused space on the card to zeros so that the unused space can be easily compressed when you create the backup image. You do this by issuing the following command after logging into the Linux CLI as root on your RasPi 3. Be sure to do it during a period of inactivity on your PBX as it is processor intensive. Then halt the machine and remove the microSD card.
xivo-service stop cat /dev/zero > wipe.it ; rm wipe.it halt
Insert the card into an SD card slot on the machine you will use to make the backup image and issue the following commands after deciphering the correct device name for your card (/dev/disk4 in this example) using the df utility:
sudo df -h sudo dd bs=1m if=/dev/disk4 | gzip -c > incrediblepbx-xivo.img.gz sudo sync sudo diskutil eject /dev/disk4s1 echo "It's safe to remove the microSD card now."
Now return the microSD card to your Raspberry Pi 3 and boot. Store your backups in a safe place!
Configuring Trunks and Routes with Incredible PBX for XiVO
The next step in your XiVO adventure is connecting your PBX to the outside world so that you can make and receive phone calls from anywhere in the world. For this you’ll need one or more trunks. Unlike the Ma Bell world, there’s no reason to put all your eggs in one basket. You can use one or more trunk providers for incoming calls with separate phone numbers for each. And you can use one or more trunk providers for outgoing calls and save money on calls to certain countries by choosing the best provider for where you want to call. And, of course, if you live in the United States, you can set up one or more Google Voice trunks and make calls to the U.S. and Canada for free. We’ve written a number of tutorials to make it easy to set up these trunks.
To get started, point a web browser to the IP address of your PBX. Login as root with the XiVO GUI password you set up above. If you ever forget your password, you can run /root/admin-pw-change to reconfigure it.
XIVO Trunk Implementation Tutorials
- XiVO Trunks Tutorial: Installing a Vitelity SIP Trunk2
- XiVO Trunks Tutorial: Installing a VoIP.ms SIP Trunk
- XiVO Trunks Tutorial: Installing a RingPlus SIP Trunk
- XiVO Trunks Tutorial: Installing a FreeVoipDeal (Betamax) SIP Trunk
- XiVO Trunks Tutorial: Installing a Google Voice-Simonics SIP Trunk
- XiVO Trunks Tutorial: Deploying Native Google Voice with OAuth Trunks
- XiVO Trunks Tutorial: Installing an Anveo Direct Outbound SIP Trunk
- XiVO Trunks Tutorial: Installing a Skype Connect SIP Trunk
Once you’ve added one or more trunks, you’ll need to tell XiVO how to route outgoing and incoming calls. Here are our step-by-step tutorials on setting up Outbound Calling Routes and Incoming Call Routes:
XIVO Call Routing Tutorials
- XiVO Call Routing Tutorial: Creating Outbound Routes for PSTN Calling
- XiVO Call Routing Tutorial: Creating Inbound Routes for DIDs
Enabling Bluetooth & Proximity Detection on the Raspberry Pi
Implementing Bluetooth Proximity Detection with Smartphone and your #RaspberryPi3 https://t.co/TYFrcqcLux #asterisk pic.twitter.com/QqGNjqG3Ag
— Ward Mundy (@NerdUno) March 4, 2016
Where To Go Next with Incredible PBX for XiVO
Now you’re ready to explore. We recommend you pick up here in our Incredible PBX for XiVO tutorial. And be sure to check out the Last Minute Fixes that didn’t make it into the current build. Enjoy the ride!
Originally published: Monday, August 29, 2016
9 Countries Have Never Visited Nerd Vittles. Got a Friend in Any of Them https://t.co/wMfmlhiQ9y #asterisk #freepbx pic.twitter.com/TPFGZbqWB6
— Ward Mundy (@NerdUno) April 22, 2016
Need help with Asterisk? Visit the PBX in a Flash 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.
Some Recent Nerd Vittles Articles of Interest…
- 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. [↩]
- Vitelity is a platinum sponsor of Nerd Vittles, and they also happen to be the best in the business. You’ll find a discount coupon to get a great deal on a DID and 4-channel trunk toward the end of this article. [↩]
VirtualBox Magic: A Turnkey PBX in 5 Minutes Flat with XiVO
We’ve sung the praises of VirtualBox for many years because it provides a wonderful platform for experimentation as well as production-ready systems using almost any hardware and any operating system. Versions of VirtualBox are available for Windows PCs, Macs, Linux desktops, and even Solaris machines. And, once you have VirtualBox in place, you can load gigabyte-sized turnkey virtual machines in under a minute. It literally transforms complex computer setups into child’s play.
We’ve received dozens of emails about XiVO, and most of them go something like this:
I’d love to experiment with XiVO as an Asterisk® platform, but I worry that the environment is just too different and the learning curve too steep. I just wish there were a simple way to get started so that I could learn the basics.
Today, your prayers have been answered. You don’t have to buy any hardware. You can use the desktop computer you already have. We’ve taken the Incredible PBX for XiVO tutorial and turned it into a turnkey virtual machine for VirtualBox. You can load it in under a minute and be ready to go. It’s got all of the Incredible PBX bells and whistles, and an extension is already configured so that you can hit the ground running. Just install VirtualBox. Next, install Incredible PBX for XiVO. Install your favorite SIP phone. Plug in the SIP credentials provided. And you’re done in a few minutes. To make outgoing calls, you can add a SIP trunk using one of the numerous SIP provider tutorials we’ve provided. Or, if you live in the United States, you can add a Google Voice trunk in a couple minutes and make free calls in the U.S. and Canada. Let’s get started!
Installing Oracle VM VirtualBox
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. 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.
Downloading & Installing Incredible PBX for XiVO Virtual Machine
To begin, download Incredible PBX for XiVO .ova image (1.0 GB) to the computer on which you installed VirtualBox.
When the download completes, double-click on the .ova file you downloaded to load it into VirtualBox. When prompted, be sure to check the Reinitialize the Mac address of all network cards box, agree to the license agreement, and then click the Import button. Once the import is finished, you’ll see a new (1) Incredible PBX for XiVO virtual machine in the VM List of the VirtualBox Manager Window. We need to make a couple of one-time adjustments to the Incredible PBX for XiVO configuration to account for differences in sound and network cards on different host machines.
(1) Click once on the Incredible PBX for XiVO virtual machine in the VM List. Then (2) click the Settings button. 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 for your Incredible PBX for XiVO.
Running Incredible PBX for XiVO in VirtualBox
Once you’ve imported and configured the Incredible PBX for XiVO Virtual Machine, you’re ready to go. Highlight Incredible PBX for XiVO virtual machine in the VM List on the VirtualBox Manager Window and click the Start button. The standard XiVO boot procedure will begin and, within a short time, you’ll get the familiar Linux login prompt. During the bootstrap procedure, you’ll 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 for XiVO is merely running as a task in a VirtualBox window. Always gracefully halt Incredible PBX just as you would on a dedicated computer.
Here’s what you need to know. To work in the Incredible PBX for XiVO 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. 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 you log into your virtual machine, a startup script will briefly configure a few things and then advise you that it’s time to reboot. Write down the IP address provided because for Phase 2 of the setup, we need to use SSH or Putty on the desktop that you will actually be using to manage your server. The reason for this is that Incredible PBX automatically creates a whitelist of IP addresses that the firewall will allow to access your server. If the IP address isn’t in your whitelist, you may lock yourself out except from the VirtualBox console window.
Once the VirtualBox console window shows that your server has rebooted by displaying the Linux login prompt, switch to SHH or Putty and login as root using the IP address you wrote down. You’ll then be prompted to change your root password for Linux as well as your root password for XiVO GUI access using a web browser. You’ll also need to set a PIN that will be used to authorize access to extension 123 to schedule Telephone Reminders on your server. This completes the configuration. You’ll get a final screen showing the credentials for the preconfigured extension 701 as well as a reminder that your PortKnocker credentials are stored in /root/knock.FAQ in the event you ever lock yourself out of your machine. It’s a good idea to leave this screen displayed while you install and configure a softphone since you can cut-and-paste your extension 701 credentials without having to type anything.
Once you complete the SIP softphone setup below, you can return to the SSH window and press ENTER to finish the install. The Incredible PBX Automatic Update Utility will run, and then you will be presented with the pbxstatus display. You can access the Asterisk CLI by typing: asterisk -rvvvvvvvvvv. Exit from the CLI by typing quit. As mentioned previously, always shut down your server gracefully by typing halt. When prompted for the hostname, type xivo. Once the shutdown procedure finishes, it’s save to turn off your virtual machine.
Choosing a SIP Softphone for Incredible PBX for XiVO
Softphones tend to be a matter of taste for most folks so we’ll keep our suggestions to a minimum. On the Windows platform, it’s hard to go wrong with X-Lite. It works out of the box by simply plugging in the IP address of your server and your SIP username and password. It also happens to be free. The only downside is that X-Lite has a nasty habit of embedding time bombs in their free software so you may have to reinstall it from time to time. If you know what you’re doing Zoiper is another alternative but be advised that it doesn’t work out of the box on servers behind NAT-based routers.
On the Mac platform, our favorite free softphone is Telephone. It’s a barebones SIP client that just works. As with X-Lite, you plug in your server’s IP address and SIP credentials, and you’re in business.
On the Linux or Solaris platforms, we assume that you know what you’re doing and that you are perfectly capable of choosing and installing a SIP phone that meets your requirements.
Incredible PBX Application Quick Start Guide
We’ve finished the basic Incredible PBX for XiVO setup. You now have a functioning PBX with dozens of applications for Asterisk that work out of the box. It’s probably a good idea to spend a little time getting acquainted with Incredible PBX for XiVO before you add trunks to communicate with the outside world.
Here’s a handy cheat sheet for some of the Incredible PBX applications that have been installed or are available as add-ons. There’s also a link for more information. This remains a work-in-progress so expect more applications in coming weeks.
- Google Voice CLI interface and SMS Message Blasting (Add-On)
- CallerID Superfecta – Match Names to CallerID Numbers
- CallerID Blacklist – Block Calls from Spammers and Old Girlfriends
- CDR Reports in CSV Format
- CDR Reports in SQLite3 Format
- Asteridex – The Poor Man’s Rolodex (SQLite3 version)
- AsteriDex Click-to-Dial with XiVO Phonebook
- NeoRouter VPN for XiVO
- FCC RoboCall BlackList
- CallerID WhiteList Override
- Dial 123 – Telephone Reminders
- Dial 411 – Call by Name from AsteriDex
- Dial 947 – Weather Forecasts by ZIP Code
- Dial 951 – Latest Yahoo News
- Dial 2663 – Conference Call
- Dial 3472 – DISA Access
- Dial 4871 – Allison’s Sample IVR
- Dial *881400 – Schedule an Alarm for 2 p.m. (1400 military time)
- Dial 53669 – Meet Lenny, the Robocaller’s Worst Nightmare
Configuring Trunks and Routes with Incredible PBX for XiVO
The next step in your XiVO adventure is connecting your PBX to the outside world so that you can make and receive phone calls from anywhere in the world. For this you’ll need one or more trunks. Unlike the Ma Bell world, there’s no reason to put all your eggs in one basket. You can use one or more trunk providers for incoming calls with separate phone numbers for each. And you can use one or more trunk providers for outgoing calls and save money on calls to certain countries by choosing the best provider for where you want to call. And, of course, if you live in the United States, you can set up one or more Google Voice trunks and make calls to the U.S. and Canada for free. We’ve written a number of tutorials to make it easy to set up these trunks.
To get started, point a web browser to the IP address of your PBX. Login as root with the XiVO GUI password you set up above. If you ever forget your password, you can run /root/admin-pw-change to reconfigure it.
XIVO Trunk Implementation Tutorials
- XiVO Trunks Tutorial: Installing a Vitelity SIP Trunk2
- XiVO Trunks Tutorial: Installing a VoIP.ms SIP Trunk
- XiVO Trunks Tutorial: Installing a RingPlus SIP Trunk
- XiVO Trunks Tutorial: Installing a FreeVoipDeal (Betamax) SIP Trunk
- XiVO Trunks Tutorial: Installing a Google Voice-Simonics SIP Trunk
- XiVO Trunks Tutorial: Deploying Native Google Voice with OAuth Trunks
- XiVO Trunks Tutorial: Installing an Anveo Direct Outbound SIP Trunk
- XiVO Trunks Tutorial: Installing a Skype Connect SIP Trunk
Once you’ve added one or more trunks, you’ll need to tell XiVO how to route outgoing and incoming calls. Here are our step-by-step tutorials on setting up Outbound Calling Routes and Incoming Call Routes:
XIVO Call Routing Tutorials
- XiVO Call Routing Tutorial: Creating Outbound Routes for PSTN Calling
- XiVO Call Routing Tutorial: Creating Inbound Routes for DIDs
Now you’re ready to explore. We recommend you pick up here in our Incredible PBX for XiVO tutorial. And be sure to check out the Last Minute Fixes that didn’t make it into the current build. Enjoy the ride!
Originally published: Monday, August 22, 2016
9 Countries Have Never Visited Nerd Vittles. Got a Friend in Any of Them https://t.co/wMfmlhiQ9y #asterisk #freepbx pic.twitter.com/TPFGZbqWB6
— Ward Mundy (@NerdUno) April 22, 2016
Need help with Asterisk? Visit the PBX in a Flash 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.
Some Recent Nerd Vittles Articles of Interest…
- 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. [↩]
- Vitelity is a platinum sponsor of Nerd Vittles, and they also happen to be the best in the business. You’ll find a discount coupon to get a great deal on a DID and 4-channel trunk toward the end of this article. [↩]