Home » Incredible PBX (Page 32)

Category Archives: Incredible PBX

The Most Versatile VoIP Provider: FREE PORTING

The Stealth AutoAttendant for Incredible PBX and PIAF5

This week we’re dusting off an oldie but goodie, The Stealth AutoAttendant. If you missed our original column 8 years ago, here’s a quick refresher. When a call comes into your PBX, a generic greeting is played: "Thanks for calling. Please hold a moment while we locate someone to take your call." Then the call is transferred to an extension or ring group. Stealth comes into play because this is really an AutoAttendant and, while the greeting is played, a caller can press a preassigned key to transfer the call to some other destination. While it’s obviously not a secure method for providing additional phone features to certain callers, it’s nevertheless helpful in opening up additional PBX functionality without making callers feel like they’re dealing with yet another IVR when they call your home or office. Using the 12-button keypad and clever design, features such as conferencing and DISA can be offered while still providing security through added prompts for passwords or PINs.



In addition to releasing GPL voice prompts from Allison Smith, today we’ll show you how to implement this on three different platforms: Incredible PBX 13 with its FreePBX® GPL modules, Incredible PBX for XiVO®, and PBX in a Flash 5 powered by 3CX®.

Stealth AutoAttendant Voice Prompts

Let’s start by getting you the voice prompts to support the Stealth AutoAttendant. What’s included is a copy of the GPL3 license and versions of the voice prompts in both GSM and WAV format. The prompts are identical except one has a two-second pause at the beginning of the prompt. This is helpful to avoid premature playing of the voice prompt when using trunk providers such as Google Voice that take a couple seconds to set up audio on a call. You can experiment with both and see which best meets your own requirements.

For the techies, it’s probably worth documenting how these prompts were created. We started with GSM versions of both our Generic Greeting prompt and the 2-second silence prompt that can be found on most Asterisk® servers. These were then converted to WAV format: sox 2.gsm -s -b 16 2.wav. Then the WAV files were combined like this:

sox -m 2.wav nv-GenericWelcome.wav nv-GenericWelcome2.wav

Now let’s download the Stealth AutoAttendant prompts to your desktop. The files are available in stealth.zip and stealth.tar.gz format so choose the download that is easiest for you to work with. Once downloaded, unzip or untar the compressed files.

Stealth AutoAttendant with Incredible PBX 13

On the Incredible PBX 13 platform with its FreePBX GPL modules, there are 3 steps to implement the Stealth AutoAttendant. The tricky part in setting up the Stealth AutoAttendant is getting the prompt installed so that it can be used as an Announcement when building an IVR in the GUI. So let’s start there.

1. FreePBX provides a facility for importing existing voice prompts in the GUI. Login as admin to get started. Then go to Admin → System Recordings → Upload and import the generic greeting desired from your desktop. Name the recording and then click Save to add it to your server.

2. Next choose Application → IVR and create a new IVR using the generic greeting as your Announcement. You can follow the IVR Demo template provided with Incredible PBX if you need some hints on how to set up an IVR. Or, better yet, review the Nerd Vittles IVR tutorial.

3. The final step is to point the Inbound Route for one or more of your DIDs to the Stealth AutoAttendant to take incoming calls. Go to Connectivity → Inbound Routes and set the Destination for the DID to the IVR you just created.

Stealth AutoAttendant with Incredible PBX for XiVO

For those using the Incredible PBX for XiVO platform, the voice prompt for the Stealth AutoAttendant already is in place in /usr/local/share/asterisk/sounds. Just copy it to /var/lib/xivo/sounds/playback in order to use it as a voice prompt with your IVRs:

cp -p /usr/local/share/asterisk/sounds/nv-GenericWelcome.wav \\
/var/lib/xivo/sounds/playback/.

Currently, there is no GUI to create IVRs and AutoAttendants with XiVO, but an IVR GUI is in the works so stay tuned. In the meantime, our tutorial and IVR template (ivr-1.conf in /etc/asterisk/extensions_extra.d) will show you how easy it is to create the dialplan code. Just copy it (cp -p) to stealth-aa.conf as a starting point. To use the Stealth AutoAttendant voice prompt, simply change the third line from ivr-Allison and replace it with the new voice prompt: nv-GenericWelcome. It doesn’t get much easier than that.

Finally, using the XiVO GUI, navigate to IPBX → Call Management → Incoming Calls and create a new incoming route for your DID that points to the IVR template you created.

Stealth AutoAttendant with PIAF5 powered by 3CX

On the PIAF5 and 3CX platform, implementing the Stealth AutoAttendant is the easiest of all. It’s all done on a single screen. You get what you pay for. 🙂 Start by logging into the 3CX web portal. When the Dashboard appears, click on Digital Receptionist in the left toolbar. Next click Add. 3CX will automatically assign an extension number for your new IVR, e.g. 800. Assign a new friendly name: Stealth AutoAttendant. Then click the Upload button to upload the WAV prompt from your desktop. Choose the options desired for your Stealth AutoAttendant and designate the DID(s) to use for incoming calls to the Stealth AutoAttendant. In the Destination for no or invalid input, set the Timeout to 2 seconds and choose where to route incoming calls when the caller presses no keys or when the input is invalid. This means the caller has the duration of the greeting plus 2 seconds to press a key and divert the call to another destination. Click OK to save your settings. Told you it’s easy.

Published: Monday, October 31, 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…

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!

  1. Set Up Desired PBX Platform: Stand-alone PC, Virtual Machine, or Cloud-Based Server
  2. Run the Incredible PBX for XiVO installer and Activate All Options
  3. Set Up One or More SIP or Google Voice Trunks for Your PBX
  4. Tell XiVO Where to Direct Incoming Calls from Each Trunk
  5. Tell XiVO Which Trunk to Use for Every Outbound Calling Digit Sequence
  6. Set Up a SoftPhone or WebRTC Phone (or both)
  7. Decide Whether to Activate Simultaneous Ringing on your Cellphone
  8. Add Google Speech Recognition Key (if desired)
  9. Activating DISA with Incredible PBX for XiVO (if desired)
  10. 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.

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.

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.

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:

  1. Incredible PBX for XiVO Server
  2. Preconfigured Google Voice Trunk
  3. 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…

  1. 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. []

Integrating SIP URIs into XiVO for Free Worldwide Calling

It’s been a while since we’ve explored SIP URIs and all of the advantages that SIP URI calling brings to your PBX. Number one on that list is FREE calling to and from anyone on the planet so long as both of you have an Internet connection with a SIP phone or a VoIP server such as Incredible PBX for XiVO. SIP URIs are the fundamental building blocks for VoIP technology. Consider this. If everyone in the world had a SIP address instead of a phone number, every call to every person in the world via the Internet would be free. That pretty much sums up why SIP URIs are important. The syntax for SIP URIs depends upon your platform. With Asterisk® they look like this: SIP/somebody@FQDN.yourdomain.com. On SIP phones, SIP URIs look like this: sip:somenameORnumber@FQDN.yourdomain.com. Others use somenameORnumber@FQDN.yourdomain.com. Assuming you have a reliable Internet connection, once you have “dialed” a SIP URI, the destination SIP device will ring just as if the called party had a POTS phone. Asterisk® processes SIP URIs in much the same way as other calls originating from trunks and, as noted, SIP URI calls of any duration to anywhere are free. Today we’ll show you how to set things up on your XiVO PBX without exposing any ports to the Internet in a way that would jeopardize your server’s security.

Placing Outbound SIP URI Calls with a SIP Softphone

There are two ways to place outbound SIP calls. You can use a SIP phone or softphone that supports SIP URI calling to dial SIP URIs directly. If you have a Mac, the best free softphone for SIP URI calling is Telephone which you can download from the App Store. On other platforms as well as Macs, Zoiper is a great no-cost option. Both of these softphones support the sip:someone@FQDN.yourdomain.com syntax. An excellent way to test this is to call our friend Lenny and strike up a conversation: sip:2233435945@sip2sip.info.

Configuring Outbound SIP URIs with XiVO

The major drawback of SIP URIs is they’re difficult both to remember and to dial. It’s much simpler to dial a short number using a traditional phone. And, with Incredible PBX for XiVO, it’s easy to create custom extensions that can be accessed simply by dialing a few digits from any phone connected to your server. Here’s how to set it up in the XiVO GUI.

1. Create a User and assign the Customized Protocol and an Extension Number to that user:

TIP: If you’d prefer to use a different series of numbers for speeddials so you don’t get them mixed up with your standard extension numbers, just add a new range of numbers for XiVO: IPX Configuration → Contexts → Default → Users. Then choose one of them above.

2. Access the new Line that was generated for the new User:

3. Replace the Interface entry for the Line with the desired SIP URI for your speeddial, e.g. SIP/2233435945@sip2sip.info. Then SAVE your new Line settings.

4. Dial 750 from an Extension on your XiVO PBX to try out Lenny using your new SIP URI.

A Better Way to Create SpeedDials with XiVO

We’ve gone through the XiVO GUI approach to demonstrate that it is indeed possible to create speeddials for SIP URIs. However, there is a better way unless you’re one of the naysayers that believes everything is better in a GUI. If you have dozens or even hundreds of speeddials to create, you may change your mind. The GUI approach could obviously become tedious. Instead, with one line of Asterisk dialplan code, you can create as many speeddials as you like keeping in mind that it’s your responsibility to assure that SIP URI extension numbers don’t conflict with existing extensions on your server. Insert a new section of code at the bottom of /etc/asterisk/extensions_extra.d/xivo-extrafeatures.conf and reload your dialplan: asterisk -rx "dialplan reload".

You can also insert this code from within the XiVO GUI itself: IPX Configuration → Configuration Files. Edit xivo-extrafeatures.conf and insert the following code snippet at the end of the file and Save your entries. The dialplan will be reloaded automatically.

Some of our favorites include the following:

;# // BEGIN SpeedDials
exten = 882,1,Dial(SIP/200901@login.zipdx.com)     ; V-U-C on Fridays at noon EST
exten = 8378,1,Dial(SIP/thetestcall@getonsip.com)  ; T-E-S-T everything VoIP
exten = 53669,1,Dial(SIP/2233435945@sip2sip.info)  ; L-E-N-N-Y
exten = 68742,1,Dial(SIP/0289304@zero-nine.biz)    ; M-U-S-I-C
exten = 3733411,1,Dial(SIP/411@ideasip.com)        ; F-R-E-E-4-1-1 Directory Asst
;# // END SpeedDials

Creating a SIP URI Address for Your XiVO PBX

Free calls to other folks is only half of the story, of course. You’re also going to want a way for people to call you without incurring charges for the calls. There are many SIP URI approaches for inbound calls. Most of them are not safe with Asterisk. Let me say that again. Most of them are not safe with Asterisk. The reason is because most of them force you to open SIP access to your server for everybody in the world. Unfortunately, that means they can not only call you, but they can also attempt to use your extensions and trunks to place very expensive calls to others. Don’t even think about opening the SIP floodgate by exposing port 5060 unless Bill Gates sends you a check every week. You’ve been warned!

Setting Up an iNum SIP URI Trunk with XiVO

The better and safer way to add SIP URI connectivity to your XiVO server is to first obtain a freely available iNum DID from one of the many providers that support iNum and then use that provider as a SIP intermediary. All SIP calls pass only over your registered trunk with your provider. Our favorites in no particular order are VoIP.ms, LocalPhone and CallCentric. There are many, many others. In order to obtain a free iNum DID, you will need an account with one of these providers. All require some sort of minimal deposit, but you usually can get back unused funds if you decide to close your account down the road. Our XiVO tutorials for VoIP.ms, LocalPhone, and CallCentric will walk you through creating your SIP account and registering it with your XiVO server. Then verify that your SIP account is registered:

asterisk -rx "sip show registry"

Configuring an iNum DID with VoIP.ms

Our trunk tutorials for LocalPhone and CallCentric will walk you through their setup procedures for iNUM DIDs. VoIP.ms provides more flexibility in redirecting trunks so let us quickly walk you through their procedure. Log in to your VoIP.ms account and then order your free iNum DID at this link. Your iNum DID then will appear in your DID Listing here. Write down your iNum DID which you’ll need in a minute to configure the XiVO side of things. Then click on the Edit DID icon beside your iNum DID and assign the DID to your registered Main Account or the SubAccount that you’ve already registered with XiVO. Be sure to use the same DID POP that you used when you registered your VoIP.ms account with XiVO. Don’t enable VoiceMail and set the ring time to 60 seconds just to keep things simple.

Configuring XiVO to Support Your iNum DID

Now for the XiVO part. Using a browser, log into the XiVO GUI. Navigate to IPX Configuration → Contexts → Default → Users. For VoIP.ms and LocalPhone, add a new Number Range starting and ending with your iNum DID. Then click Save. For CallCentric, do the same thing but substitute your CallCentric username which will be an 11-digit number starting with 1777.

Repeat the above in IPX Configuration → Contexts → from-extern (Incalls) → Users.

For CallCentric only, also click on the Incoming Calls tab and add a new Number Range. For the Starting value, use your 11-digit LocalPhone username. For the DID length, set it to 11. You do NOT need to include a Number Range ending value. Click Save when you’re finished.

For VoIP.ms, navigate to IPX Settings → Users. Then Add a new User for your iNum DID. In the General tab, name the User VoIP.ms iNum. In the Lines tab, provide your actual iNum DID number. This must be the same number you added to the Number Range in the Default context above. In the No Answer tab, set the Fail option to the Destination of your choice, e.g. an extension, a ring group, an IVR, etc. Then click Save.

For LocalPhone, navigate to Call Management → Incoming Calls and Add a new Inbound Route for your DID specifying the destination for the calls using your iNum DID number:

For CallCentric, navigate to Call Management → Incoming Calls and Add a new Inbound Route using your 11-digit CallCentric username as the DID. Then specify the destination for the calls and click Save.

Calling Your XiVO PBX Using Your iNum SIP URI

To receive SIP URI calls safely on your iNum DID, your SIP URI is your iNum DID number followed by @sip.inum.net, e.g. 883510012345678@sip.inum.net. Neither the identity of your XiVO PBX or your SIP service provider is ever exposed. Enjoy your safe, free calling!

Originally published: Monday, September 26, 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…

Never Miss a Meeting: Google Calendar Alerts for XiVO




Today we’re pleased to dust off an oldie but goodie and to introduce Google Calendar integration for XiVO and Asterisk® 13.1 This gets you a reminder call at any number you choose based upon the Notification time that is set whenever you schedule a meeting or appointment in your Google Calendar. Our special thanks to Terry Wilson for his pioneering work at Digium® on the calendaring API. Together with the flexibility that XiVO affords out of the box, it made this incredibly easy, and the new design makes it simple to support as many Google calendars as you would like.



Calendar Design Methodology. The design of contexts in XiVO makes it easy to keep separate development projects separate. In this way, adding and changing code is straight-forward without having to worry about breaking some other working application in Asterisk. In keeping with this design, Incredible PBX for XiVO separates out different applications into different configuration files in the /etc/asterisk/extensions_extra.d directory. For calendar reminders, we’ve created the calendars.conf template which tells Asterisk what to do when an appointment reminder is triggered for the default myGoogleCal calendar.

As you can see below, this is standard Asterisk dialplan code so you can make it as sophisticated as you like. And you can add separate extensions to manage different calendars and do different things. To get you started, here’s what gets generated when you run today’s setup script. It tells XiVO to place a call to the notification number you have chosen and play a message using the Festival TTS engine that announces the time and location of a scheduled event from your Google Calendar:

[calendars]

exten => 225,1,Answer
exten => 225,n,Wait(1)
exten => 225,n,Festival("Here is an appointment reminder from your Google calendar: ")
exten => 225,n,Festival("${CALENDAR_EVENT(summary)} at ${STRFTIME(${CALENDAR_EVENT(start)},,%l:%M %p: local time %A)} at ${CALENDAR_EVENT(location)} ${CALENDAR_EVENT(description)}. Have a nice day. Good bye.")
exten => 225,n,Hangup

The Asterisk design for calendar reminders is equally intuitive. For each calendar, you create a context in /etc/asterisk/calendar.conf to identify the calendar, your credentials, and the Asterisk context, the extension and notification phone number which will be triggered when a calendar reminder (known as a Notification) is triggered. In the initial setup today, we will generate the [myGoogleCal] context with all of the required pieces:2



Once the setup is finished, you can run the following command to tell you the status of your Google Calendar upcoming events for the next two hours. These events get refreshed by Asterisk every 10 minutes based upon the current entries in your calendar.

asterisk -rx "calendar show calendar myGoogleCal"



Once you integrate Google Calendar into Incredible PBX, you can use it to alert you to upcoming appointments. You can also schedule and activate conference calls, and even log the date, time, length, and recipient of all your outbound and/or incoming phone calls. For today, we’ll get the basic pieces installed and functioning. And we’ll set up a simple reminder system based upon appointment entries in your Google Calendar. We’ll also give you some good reference materials so that you can take it from there. This is one of Asterisk’s most powerful features and one where a little study will reward you handsomely. And, as we said, XiVO makes it easy!

Prerequisites. As mentioned, you’ll need a Gmail account to which your Google Calendar is attached. NOTE: Gmail accounts with 2-Step Verification cannot be accessed using your regular Gmail password, but there’s a simple work-around covered in this footnote.3 You also need to first install Incredible PBX for XiVO. By default, you’ll need at least one outbound trunk that supports calls in the same format that you plan to use with your calendar alerts. For NANPA trunks, it will be a 10-digit number, but any other dial string is supported so long as you have enabled AND tested it in XiVO. Then just follow along in today’s tutorial. The entire setup process only takes a couple minutes, and the setup script is licensed as GPL code so knock yourself out and make any changes desired to meet your own requirements.

Installation. Once you have Incredible PBX for XiVO up and running, make a test call from any extension to the phone number you plan to use for Google Calendar notifications. When you’re satisfied that you can reach that number from a XiVO extension, then it’s time to download the installer and run it. Log into your server as root and issue the following commands. Plug in your Gmail credentials and the 10-digit (or other format) notification number when prompted. If you decide to change your Google Calendar or notification number down the road, simply run the setup script again. Be advised that it will always overwrite all of the existing contents of /etc/asterisk/calendar.conf and /etc/asterisk/extensions_extra.d/calendars.conf.

cd /root
wget http://incrediblepbx.com/setup-xivo-cal.sh
chmod +x setup-xivo-cal.sh
./setup-xivo-cal.sh

Test Drive. The proof is in the pudding, as they say. So set up an appointment in your Google Calendar that’s about an hour in the future, and set the Notification time to 30 minutes. You should receive a call in about 30 minutes assuming your Google Calendar and XiVO server are in the same time zone. For additional tips and tricks, start here. Enjoy!



Originally published: Monday, September 19, 2016



Don’t forget to List Yourself in Directory Assistance so everyone can find you by dialing 411. And add your numbers to the Do Not Call Registry. Or just call 888-382-1222 from your new number. Last but not least, set up the FCC’s BlackList on your server and kiss the RoboCallers goodbye.
 

 






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…

  1. We originally introduced this five years ago in the Asterisk 1.8 days. We’ve now upgraded everything to support Incredible PBX for XiVO with Asterisk 13. []
  2. Note that you can set an AutoReminder to schedule a call for every appointment at the same preconfigured interval. This will override all individual Notifications that are set on a per-appointment basis. []
  3. For Google accounts with 2-Step Verification, simply create an Application-Specific Password. Select the Application (Calendar), select your device (Other: XiVO), and click Generate. When setting up Google Calendar Alerts for XiVO, use your actual Gmail address and substitute the 16-character password that is generated for your standard Google password. []

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





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…

  1. 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:

    1. Preconfigured IPtables Linux Firewall
    2. Preconfigured Travelin’ Man 3 WhiteLists
    3. Randomized Port Knocker for Remote Access
    4. Fail2Ban Log Monitoring for SSH, Apache, Asterisk
    5. Randomized Ultra-Secure Passwords
    6. Automatic Update Utility for Security & Bug Fixes
    7. Asterisk Manager Lockdown to localhost
    8. 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.

    1. Download and unzip Incredible PBX for XiVO image from SourceForge (includes GV OAuth support)
    2. Transfer Incredible PBX image to microSD card
    3. Boot Raspberry Pi from new microSD card
    4. Login to RasPi console as root:password to initialize your server (Automatic) and expand image to match SD card
    5. Reboot after writing down your server IP address (Automatic)
    6. Login via SSH as root:password to set up passwords (You Pick ’em) & configure firewall (Automatic)
    7. 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.

    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

    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

    Enabling Bluetooth & Proximity Detection on the Raspberry Pi


    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





    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…

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

    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

    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

    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





    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…

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