Posts tagged: freepbx

netTALK to the Rescue: Dumping Google Voice for Less Than 10¢ a Day

The Google Voice Adventure with Asterisk® has been disappointing to put it charitably. Google never really saw the benefit of providing free phone service to millions of Americans because they never could quite figure out how to monetize the project. In the meantime, shady call centers were eating them alive with dozens if not hundreds of Google Voice trunks that were placing endless calls around the clock. The final straw was Microsoft deciding to keep Skype proprietary while adding free Google Voice connectivity to its communications products. This meant Microsoft customers had the best of all worlds while Google’s platform had no way to access Skype except through Microsoft’s proprietary client. Google decided to pull the plug on XMPP beginning May 15 of this year and more or less blamed it on abuse by the open source community for using Google’s own open source development toolkit for Google Voice.

We’ve never been one to sit around crying about spilt milk when there are plenty of other excellent choices available to the VoIP community. Today we begin our exploration of alternatives with a look at all-you-can-eat VoIP. There still are a few pure VoIP service plans available, but every one that we’ve tried leaves a bait-and-switch aftertaste. The first year may be reasonable, but once they’ve got you hooked, look out. Quite literally, they have your number. For this reason, we’ve chosen a hardware hybrid approach that still relies upon VoIP for the actual calls. Below the stratospheric pricing of the Bell Sisters, Comcast, and Vonage, there still are several wallet-friendly, all-you-can-eat VoIP products to choose from including netTALK, Ooma, and magicJack.

We know. Nothing beats free even with a little pain. But we think you’ll love today’s alternative especially given its expanded feature set and modest long-term cost. Up front hardware cost including service for the first year is about $100. Amortizing the hardware and service costs over three years reduces your investment for unlimited U.S./Canada/E911 phone service to roughly $1 a week. After recovery of your $100 hardware investment, the cost is $29.95 a year which works out to less than 10¢ a day… forever. This compares quite favorably to today’s best all-you-can-eat VoIP deal. AxVoice charges $99 for equivalent first year service and then the price escalates to over $150 for subsequent years. It doesn’t take a math major to figure out that’s 5 times the netTALK pricing beginning in Year 2.

That brings us back to Google. If you had several million happy customers already using your VoIP service and you saw a small company that was still in business charging $30 a year for a VoIP feature set that was better than yours, wouldn’t you think you might try to cash in on $100 million a year in new revenue rather than flushing the project down the toilet while shafting the open source developers that got you the customers in the first place??

Earth to Google: Few on the planet are ever going to use a web browser with Hangouts to make traditional phone calls regardless of how many places you plaster the Hangouts logo. Before you hire another Marketing Genius, read a good book or two. The well-deserved 2013 Lame Foot of the Year Award goes to Google. </rant>

Overview. Today we’ll be pairing an old friend, the OBi110, with the unlimited calling options provided by netTALK. When we’re finished, you’ll have a drop-in replacement for Google Voice on your Asterisk server that provides unlimited calling within the U.S. and Canada, plus free calling to other netTALK and OBi users around the world, plus free 911 emergency service for you and your family, plus voicemail delivery by email, and fax support. And you can keep your existing phone number! All of the existing PBX in a Flash and Incredible PBX features still work exactly as they do today without worrying about Google pulling the rug out from under you… again. With the OBiON app for iOS or Android, you can make free calls from your cellphone using today’s netTALK-OBi110 setup. And, if calls from a cellphone aren’t your thing, when you go on vacation to anywhere with an Internet connection, you can slip the netTALK device into your suitcase and plug it in to the Internet at your destination without ever losing the ability to make and receive free calls. We’ll cover all these magic tricks and more today so hang on to your hat. Let’s get started.

Legal Disclaimer. This is not legal advice. Consult your own attorney for that. We have reviewed netTALK’s Terms of Service and find nothing that would preclude your using the services as described in this article so long as the device is used in the United States, usage is under 3,000 minutes per month, and usage is limited to “normal residential or home office usage patterns” without “auto-dialing, continuous or extensive call forwarding, telemarketing, fax broadcasting or fax blasting.” Terms of service can and do change from time to time. Review them regularly.

BY IMPLEMENTING THE TIPS IN THIS TUTORIAL, YOU AGREE TO ASSUME ALL RISKS ASSOCIATED WITH THE METHODOLOGY INCLUDING, BUT NOT LIMITED TO, THE LEGAL AND FINANCIAL CONSEQUENCES OF YOUR ACTIONS. IF YOU ARE UNWILLING TO DO SO, STOP READING HERE!

Hardware Requirements. Here’s what you’ll need. First, purchase a netTALK device. You have several choices. The netTALK DUO is still available for under $50 and includes a full year of unlimited calling in the U.S. and Canada. The netTALK DUO II is the newer model (with the same feature set). It sells for about $30 but only includes three months of free calling. The netTALK DUO WiFi is about $60 and adds WiFi support. Additional years of free calling in the U.S. and Canada are $29.95 with a guarantee of no price escalation as long as you continue the service without interruption. You can add free calling to 60+ countries for an additional $10 a month. Unlimited SMS messaging in the U.S. and Canada is an additional $2.50 a month. AT&T charges $20 a month for unlimited SMS messaging, and it only works on a single cell phone.

In addition to your Asterisk server, the other piece for today’s puzzle is OBiHai’s OBi110, a terrific analog telephone adapter that we’ll use to connect the netTALK adapter to your Asterisk server. If you want to connect a Google Voice account for a few more months, it can do that as well. It also supports a connection to another SIP provider of your choice for redundancy. For today, our focus is getting a Google Voice replacement service in place for your Asterisk server. You can scour the Internet to add the other pieces. The OBi110 is available through Amazon for under $50.1

Installing and Configuring the netTALK Duo

Before your netTALK Duo will work, it has to be registered on the netTALK web site. Locate your temporary username and password for the NetTalk DUO inside the box. Log into the web site and click Start Activation. Plug in your credentials and click LOGIN. Fill out the registration information and create a username and password for your new account. Then press CONTINUE. Complete the E911 information and click SAVE. Select a phone number and ASSIGN it to your account. Now plug a plain-old phone into your netTalk Duo, connect the device to your LAN, and then connect the power adapter. Some routers are problematic. Be sure SIP ALG is disabled on your router. It took about 5 minutes for ours to change from alternating green and red lights to a solid green light and the one-ring call indicating that the device is operating properly. Once you get the solid green light, make a call to the device and from the device. Nothing else works if the netTALK can’t make calls! Once it’s working, you can unplug the phone and use it to configure the OBi110 in the next section.

Installing and Configuring the OBi110

There are a number of steps to the OBi110 setup, but it isn’t difficult. If you can handle slice-and-bake cookies, you can do this. Just follow the recipe and don’t skip any steps. We’ll be configuring the OBi110 in two phases using the OBiTalk web site first and then using the OBi110′s built-in web server. Plug the OBi110 into your LAN and then attach the power adapter. Plug a POTS phone into the PHONE port of your OBi110. Once the OBi110 has booted, pick up the phone and make sure you have a dial tone. Then hang up.

IMPORTANT: Make sure that you restore the OBi to its factory default settings if you have previously used the device! ALWAYS keep your OBi110 behind a hardware-based firewall with NO Internet port exposure!

Now head over to the OBi web portal and set up an account if you don’t already have one. From the OBi Dashboard, click ADD DEVICE. Uncheck the box to set up a Google Voice account. You can do that later if desired. Now pick up the phone connected to the OBi110 and dial **5 plus the 4-digit number shown in your browser. This will identify your device to OBiTalk. Your OBi110 will appear in a dialog box for confirmation. Click CONFIRM promptly, or start over.

In the Device Configuration window that appears, add a Device Display Name, Webpage Admin PW, OBi Attendant PIN, and your TimeZone. SAVE your settings. The OBi110 should now appear in the OBi Dashboard with its assigned OBi number and speed dial number together with a Green status icon signifying it’s working.

Now is a good time to download the OBiON app to your iOS device or Android phone. Launch the app and login with your OBiTalk account information. In the OBi Dashboard, you will note that your softphone now has appeared and was assigned a 9-digit OBiTALK number. Write it down. You’ll need it in a minute to complete the OBi110 setup. Click on the Edit icon for the softphone and assign your OBi110 as the OBi Voice Gateway. SAVE your settings.

For the remainder of the OBi110 setup, we’ll be using the web interface built into the OBi110. If you don’t know the IP address of your OBi110, pick up the phone connected to your OBi and dial ***1.

1. Use your browser to log into the OBi110′s web interface. Log in with admin:admin as the username:password.

2. Once you’re logged into your OBi110′s web interface, the Setup Wizard will display. Expand the first five headings in the left column by clicking on the + icons for Status, System Management, Service Providers, Voice Services, and Physical Interfaces. Then expand ITSP Profile B under Service Providers.

3. Download the latest firmware from here to your desktop. Currently it’s 1.3.0 (Build: 2824). Install it on your device: Device Update -> Firmware Update. Your OBi110 will restart after loading the new firmware.

4. Disable ALL AutoProvisioning: Auto Provisioning -> Firmware Updates, ITSP Provisioning, OBiTalk Provisioning. Then Submit and Reboot.

This keeps external forces from stepping on your setup once it’s working. If something breaks down the road, you can manually provision your device once you know what’s broken.

5. While not absolutely necessary, we recommend you set a static IP address for your OBi110: Network Settings -> Internet Settings. Submit and Reboot. Using your browser, log back into the new IP address.

Another alternative is to permanently lock the DHCP-assigned IP address to the OBi110 using the web interface of your router.

6. Open the SIP profile under ITSP Profile B. Here you’ll need to insert the IP address of your Asterisk server in BOTH the ProxyServer and X_AccessList fields. Also add a check mark for X_SpoofCallerID. Before you can add these entries, you’ll need to uncheck the Default checkbox beside each entry. This applies to all further steps as well. After making the three entries, click Submit and Reboot.

7. Open the SP2 Service window. For X_ServProvProfile and X_CodecProfile, change the settings to B. Change X_InboundCallRoute to LI. Add a check mark for X_KeepAliveEnable. Change X_KeepAliveServerPort and X_UserAgentPort to 5061.

In the SIP Credentials section, change AuthUserName to obitrunk. Make up a secure password and insert it in the AuthPassword field. Remember the password! We’ll need it to configure your Asterisk trunk in a minute. For the URI entry, use the following with the actual IP address of your Asterisk server: obitrunk@192.168.0.82. Double-check all nine entries carefully and then click Submit and Reboot.

8. In the OBiTalk Service Settings window, change the InboundCallRoute to an entry that looks like this: {pp(ob290999999),li}. We recommend you cut-and-paste our example and then replace 290999999 with the 9-digit OBiTalk number that was assigned to your softphone above. A punctuation error here will block your softphone from ever working. Click Submit and Reboot.

9. Finally, we need to configure the LINE Port. For the InboundCallRoute, insert the following using the 10-digit phone number assigned to your netTALK Duo: SP2(6781234567). For the SilenceTimeThreshold, set the number of seconds you want the OBi110 to wait before disconnecting a call where nobody at the other end of the call says anything. We recommend 600 which is 10 minutes. Click Submit and Reboot.

10. Now it’s time to connect your netTALK Duo to your OBi110. Unplug any phone connected to the netTALK Duo. Using a telephone cable, connect the PHONE port of the netTALK Duo to the LINE port of the OBi110. Never plug the netTALK Duo into the PHONE port of the OBi110, or your OBi is (burnt) toast!!!

11. Test your configuration. Pick up the phone that’s still connected to the OBi110 and dial either a 10-digit or 11-digit number of someone you love: 8005551212 or 18005551212. Do the same thing using the OBiON app on your cellphone or tablet. Be patient! OBiON connections are not instantaneous. Your connections have to be authenticated through OBiHai’s servers before they go through.

Interconnecting Asterisk with the OBi110

There basically are three pieces you need to add to Asterisk so that it can communicate with your netTALK Duo and OBi110. You need a Trunk to which the OBi110 will register. You need an Inbound Route to tell Asterisk how to handle incoming calls from the netTALK Duo phone number. And you need an Outbound Route to tell Asterisk which outgoing calls should be routed out through the netTALK Duo. We’re assuming you will be using the netTALK Duo as your primary trunk for outbound AND emergency calls. We’re also assuming you will not be making international calls. Finally, we’re assuming you are using FreePBX 2.11 with either PBX in a Flash or with one of the Incredible PBX builds on the CentOS 6.5, Raspbian, or Ubuntu platforms. Other FreePBX 2.11 setups should work in much the same way. If any of these assumptions don’t apply, you’ll obviously need to make the necessary adjustments for your environment.

Trunk Configuration. To set up the obitrunk under FreePBX 2.11, log into FreePBX and choose Connectivity -> Trunks -> Add SIP Trunk. For the Trunk Name, use obitrunk. For Outbound Caller ID, enter the 10-digit phone number assigned to your netTALK Duo. For Maximum Channels, use 1. For Dialed Number Manipulation Rules, add the following Match Patterns: 1NXXNXXXXXX, NXXNXXXXXX, and 911.

In Outgoing Settings, use obitrunk for Trunk Name and enter the following PEER Details:
type=peer
host=dynamic
port=5061
disallow=all
allow=ulaw
dtmfmode=rfc2833

In Incoming Settings, enter your actual 10-digit netTalk phone number in the User Context field: 6781234567. Enter the following USER Details replacing mypassword with the password you set up in OBi110 step #7 SIP credentials above and adjusting the permit entry to match your LAN subnet:
type=friend
secret=mypassword
host=dynamic
context=from-trunk
canreinvite=no
nat=yes
port=5061
qualify=yes
dtmfmode=rfc2833
disallow=all
allow=ulaw
deny=0.0.0.0/0.0.0.0
permit=192.168.0.0/255.255.255.0

Click Submit Changes and Apply Config to save your entries.

Inbound Route Configuration. If you already have a default inbound route on your Asterisk server, then you can skip this step unless you want incoming calls from the netTALK DID routed in a special way. To create an inbound route for the netTALK phone number, choose Connectivity -> Inbound Routes -> Add Incoming Route. For the Description, enter netTALK-OBi110. For the DID Number, enter your 10-digit netTALK phone number. For CID Lookup Source, choose CallerID Superfecta if you’re using this module. For Set Destination, choose how you want FreePBX to route the incoming calls, i.e. an extension, ring group, IVR, etc.

Click Submit and Apply Config to save your entries.

Outbound Route Configuration. If you want all 10-digit, 11-digit, and 911 calls placed from your Asterisk server to be routed out through the netTALK Duo, then you’d Add a Route under Connectivity -> Outbound Routes that looks something like the following. Don’t forget to move this Outbound Route (in the right column) to the TOP of your list of Outbound Routes to make certain it is processed first by FreePBX.

For Route Name, use obiout. For Dial Patterns, use the same ones you used in your Trunk setup above: 1NXXNXXXXXX, NXXNXXXXXX, and 911. For Trunk Sequence, select obitrunk.

Click Submit Changes and Apply Config to save your entries.

While still in Outbound Routes, drag obiout to the top of the outbound routes list in the right column. Then click Apply Config again to save your trunk processing sequence.

Verifying Connectivity. Let’s be sure everything works. First, log back into the IP address of your OBi110 and verify that System Status -> SP2 Service Status shows the OBi110 is registered to your Asterisk server. Next place a 10-digit call using an extension on your Asterisk server and monitor the Asterisk CLI to make certain that the call went out using the netTALK Duo trunk and was completely successfully. Finally, use your cellphone to call the number assigned to your netTALK Duo. The call should ring on the devices you configured in the Inbound Route above. Enjoy your new freedom from Google Voice!

Special Thanks. We want to express our appreciation to ObiHai for an excellent Administrator’s Guide and to the numerous individuals who have wrestled with the OBi110 setup over the years. This includes Adrian Li, Ad_Hominem and MichiganTelephone on the OBiTalk Forum as well as the reference articles which now are available here.

Originally published: Tuesday, January 7, 2014




Need help with Asterisk? Visit the PBX in a Flash Forum.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for all of us.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity. 


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

IVR 101: Six Quick Steps to Building Incredible IVRs for Asterisk with FreePBX

As more and more Asterisk® platforms enter the open source community, it seems as if we spend a lot of energy covering the basics of getting those new systems into place, and there’s little time left for tutorials that really make the difference in a great telephony system and one that just makes calls. So our New Year’s Resolution is to try to devote a column every month to smelling the roses and pushing out some information that actually helps newbies in the VoIP community learn something while getting them up to speed on creating important pieces of a PBX themselves.

For today, IVR 101 tackles Interactive Voice Response systems (IVRs) and AutoAttendants. These are the tools that let callers interact with a PBX without assistance from a receptionist. What’s the difference in an IVR and AutoAttendant? Both offer unattended call processing, but an IVR is more sophisticated typically offering much more than a menu tree of connection options to the caller. For example, some of the options in today’s demo IVR let the caller interact directly with the computer to retrieve customized responses. Call by Name lets the caller speak the name of a person or company to dial, Weather by City lets the caller choose the City and State, Province, or Country of a weather forecast to retrieve, and Wolfram Alpha lets the caller ask about almost anything you’d find in your favorite almanac. Twenty years ago, companies were spending $100,000+ to get this functionality from the Bell Sisters and companies like Nortel. Today you can do it with a Raspberry Pi or BeagleBone Black running Incredible PBX for less than $50. Much has been written about IVR Hell and how to build effective IVRs that don’t drive callers crazy. We’ll leave that one for you to explore on your own. But we can’t stress enough how important this really is. It can make or break a company! If you’re unwilling to invest the time in the IVR design, there are companies such as CallFire that will do it for you. For do-it-yourselfers, you’ll want to start with Allison’s 15 Commandments (for ease of reference, we have linked to the individual articles on Digium’s site below) and then do a little Googling on your own. There’s a wealth of information on the topic.

Allison’s 15 Commandments of IVR
 
1. Don’t Overestimate Your Listener’s Attention Span
2. Thou Shalt Not Create Fake Mailboxes
3. Keep Things Simple
4. Always Give Callers an Opt-”In”
5. Front-Load Important Information
6. Understand What Constitutes a “Prompt”
7. Understand The Effects of Proper Punctuation in Concatenation
8. Thou Shalt Not Give Directions To Your Office/Facility
9. Give a Pronunciation Guide for Proper Names and Place Names
10. Name Your Company Something That Needs No Special Instruction
11 Don’t Go Overboard with Niceties
12. Read The Copy Out Loud
13. Be Clear on Your Company’s Vision/Image — And Be Able To Explain That To Me
14. Don’t Front-Load Too Much Information in The Opening Greeting
15. Write in a Conversational Tone

Step #1: Documenting What You Want Your IVR to Do

Our task today is to cover the mechanics of building an effective IVR. That, of course, starts with a pencil and paper. Before you can build anything, you need a blueprint for what you’re trying to accomplish and how we go about getting there. What choices do you want to give callers that dial into your PBX? Do you want all of these options announced to every caller, or should some of them be left hidden (perhaps behind passwords) that let certain users interact with your PBX in ways that casual callers won’t know about. Keep in mind that the bad guys have telephones, too. So, even though an IVR option may not be mentioned, that doesn’t mean that the curious caller won’t push buttons you didn’t describe as available. Unless you have deep pockets, for example, you probably wouldn’t want to make a DISA call-out option available, whether hidden or otherwise, without protecting it with a very secure password. Similarly, an IVR option that lets anybody schedule a reminder to any phone number of their choice is not too smart.

Rule #1: The very first question you need to ask yourself with every IVR option is “Can this function end up costing me money?” If the answer is “yes” then you need a very secure password before any caller can access that feature.

For today, we’re going to build a call tree that shows off some of the features included in Incredible PBX. When a caller dials into a certain number on your PBX, we’ll play a message that describes the available options. Then we’ll let the caller play with the Incredible PBX feature set. You probably would want to set this system up on a phone number that supports unlimited inbound calls at no additional cost. In short, ask yourself: “Do thousands of 30-minute calls to my demo IVR end up costing me money?” If the answer is “yes” then don’t build a non-essential IVR without first securing a DID that doesn’t cost you by the minute. There are lots of choices including Google Voice which happens to still be free and available until May 15, 2014. There’s also IPkall that still gives out free DIDs in the Seattle area to anyone with a SIP URI. If you haven’t already guessed, we’re trying to get you in the mindset of always assuming the worst case from every potential caller. After all, it’s your phone bill.

We started with our pencil and paper and sketched out what we wanted to include in our Demo IVR. And, by the way, you would never want to position “speak to a real person” as the last option in a real IVR unless you just love pissing off your customers. Today’s IVR wasn’t designed to let you speak to a real person… other than Lenny. :wink:

Test Drive: Demo IVR with Incredible PBX on the $45 BeagleBone Black RasPBX

Step #2: Recording the Voice Prompt for the Demo IVR

When people call your phone number, they expect someone to answer the call. In the case of an IVR or AutoAttendant, you’ll need a voice prompt to tell callers what options are available. The options need to be concise keeping in mind that the average attention span of callers is about 30 seconds. You don’t want callers hanging up before they’ve even reached the end of your schpeel. You also don’t want callers to have to listen to a dozen options when the option they wanted was #1. We’re going to be using FreePBX® to create the IVR so it will automatically permit callers to interrupt the talking head by pressing a button. If you’re doing this with Asterisk dialplan code, make sure you use the Background function to play your voice prompt rather than Playback which forces callers to listen to the entire recording before making a choice.

In recording voice prompts, you have a number of options. The most professional is to hire Allison to record the prompts for you. Then it matches all of the other prompts on your Asterisk system. You can do this through Digium’s web site, and the cost is quite reasonable. For bigger projects, contact Allison directly through her web site. Another alternative is to record the prompt yourself. This can be done with professional recording equipment or using an ordinary phone with FreePBX: Admin -> System Recordings -> Extension Number. Who knows? You may want to break into the voice-over business yourself.

The other alternatives involve use of a text-to-speech engine to create the voice prompts. A synthesized “Allison voice” is available from Cepstral®; however, due to a change in licensing, you now will need three different licenses in order to record voice prompts. If you want on-the-fly prompts using Cepstral, you also will need additional licenses for each simultaneous caller. Other than in the corporate environment, we can no longer recommend Cepstral. And, even for business use, Allison’s custom recordings are far superior to the TTS renditions in our opinion.

Two free text-to-speech alternatives are available on Incredible PBX platforms. Flite sounds much like Herman Munster. You can understand him. That’s about it. GoogleTTS is a female voice that actually does a good job. For demo projects, we typically use GoogleTTS although you won’t have to today. GoogleTTS voice prompts can be created from the command line by logging in as root. The following command would build an ivr.wav voice prompt for this demo IVR that is suitable for use on all Asterisk-based systems:

googletts-cli.pl -t "Hi: Thank you for calling. To call by name, press 1: To join the conference, press 2: For Wool From Alpha: press three: To speak to Lenny: press four: For today's news headlines, press 5: For today's weather forecast, press 6. For today in history, press 7. Or press 8 for the house phones and speak to a real person." -r 8000 -o ivr.wav

As a Christmas present to all of us, Allison has actually recorded the voice prompt for this demo IVR, and you are more than welcome to download it and use it in building a Demo IVR for your own computer. It provides a great example of the quality of Allison’s recordings. Night and day pretty much sums up the difference between Allison’s recording and the GoogleTTS version, but you can judge that for yourself. Here’s the download link for the ivr-Allison.wav prompt. And here’s the download link for the GoogleTTS ivr.wav prompt. Just import the files into FreePBX as outlined below.

Step #3: Importing the Voice Prompt into FreePBX

Before we actually create our IVR application in FreePBX, we first need to get our two voice prompts from Allison and GoogleTTS imported so that they can be used as part of the FreePBX system. There are two ways to do this. The first is to import a file from your desktop PC using the FreePBX GUI. We’ll use this to grab the Allison prompt you downloaded to your desktop above. Choose Admin -> System Recordings. Then Choose File -> ivr-Allison.wav -> Upload. Now Name the file: ivr-Allison and click Save.

The second option is to create a dummy IVR voice prompt in FreePBX and then replace the dummy ivr.wav file with your actual recording. Let’s create a dummy recording just to show you the procedure to use for GoogleTTS prompts. Choose Admin -> System Recordings. Enter an extension number that is connected to your PBX: 701 then click Go button. Using extension 701, dial *77 and record a few words of gibberish. Press # and hang up. Give the recording the same name as the file we wish to upload (without the extension): ivr. Click the Save button. Finally, from the directory on your Incredible PBX server where you recorded your GoogleTTS ivr.wav file in Step #2 above, move the ivr.wav file to its permanent location: mv ivr.wav /var/lib/asterisk/sounds/custom

Step #4: Creating the IVR in FreePBX

To create the IVR in FreePBX on the Raspberry Pi or BeagleBone Black platform, choose Applications -> IVR -> Add IVR and then fill in the blanks to match this template clicking the + button to add the necessary number of IVR options, SUBMIT your entries, and APPLY CONFIG to reload FreePBX. You will note that, for each of the applications, we already have created a Misc Destination within FreePBX so that it can be used as part of a FreePBX-generated IVR. If you’ve created your own dialplan or AGI applications, you would need to complete this step before creating your IVR. To use Allison’s prompt instead of the GoogleTTS prompt, simply change the top Announcement entry below from ivr to ivr-Allison. Then, Allison’s prompt will play when a call is first answered, and the GoogleTTS version will play for invalid, timeout, and repeat announcements. That makes it easy for you to compare the two alternatives.

Step #5: Linking the IVR to an Incoming DID in FreePBX

Finally, you’ll need a DID that folks can call to reach your IVR. We’ll assume you’ve already set that up on your PBX so all we need to do in FreePBX is create an Inbound Route to pass incoming calls to that phone number. Choose Connectivity -> Inbound Routes -> Add Incoming Route and fill in the blanks using the template below and the actual number of your DID. Click Submit and Apply Config to complete the process.

Step #6: Taking the Demo IVR for a Test Drive

This is a really important final step. ALWAYS try out every option on your IVR immediately after creating it. Be sure you call the IVR twelve times and press every button on your phone to make certain the results match what you expected to create. If not, edit the IVR in FreePBX and then try your calls again. As obvious as this sounds, you probably already know that many “professionally-built” IVR creations seem to have forgotten this step. We couldn’t begin to tell you the number of IVRs we have encountered with dead links, looping menus, and on and on. Do your callers a favor. Test your stuff before you put it in production.

Test Drive: Demo IVR with Incredible PBX on the $45 BeagleBone Black RasPBX



Another Banner Year at Nerd Vittles. As 2013 comes to a close, we want to thank our 500,000+ unique and very special visitors this year from 218 countries around the globe! With an average 5 million page views every month, it’s heartening to see the VoIP story spreading like wildfire. Are you listening VoIP merchants? We wish all of you a very Happy and Prosperous New Year and hope you will join us again in 2014 as the VoIP revolution marches on.

Originally published: Monday, December 30, 2013




Need help with Asterisk? Visit the PBX in a Flash Forum.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for all of us.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity. 


Some Recent Nerd Vittles Articles of Interest…

Twofer Tuesday: Incredible PBX for RasPBX on BeagleBone Black and Raspberry Pi


We never were big fans of unfinished projects. And with Festivus behind us and Christmas tomorrow, it seemed only fitting to celebrate with a Twofer Tuesday Encore. Whether you like ‘em or hate ‘em, Google’s free text-to-speech engine is a big deal. It’s as close to perfect as any commercial product you can buy. So getting it to work with the BeagleBone® Black was really important for those of us that believe the BeagleBone Black is a near perfect telephony platform for home users and SOHO businesses. With this week’s release of Incredible PBX™ 4.11.3 for the RasPBX™, the GoogleTTS engine finally is available in all its glory on both the Raspberry Pi® and BeagleBone Black platforms. At $45 and sporting a “Made in the USA” moniker, the BeagleBone’s only real competition is the Raspberry Pi which has roughly a third the performance for VoIP-related tasks. Finding a BeagleBone Black has not been the easiest thing to accomplish either. They have sprung up five or six times over the past two weeks only to be snarfed up in a couple of hours. We have a PIAF Forum thread that will keep you apprised of the latest sightings or just follow us on Twitter. As with the early days of the Raspberry Pi, price gouging is alive and well so we’ll leave it to you to decide what your budget can tolerate. Our recommendation is hold your nose and pay the extra $15. The BeagleBone Black is worth it!

There’s more Black news this week as well. PIAF-Black™ now ushers in the next generation of Asterisk® with the official release of Asterisk 12.0.0. You can download the latest 32-bit or 64-bit PIAF™ ISOs from SourceForge. Then pick your favorite flavor of Asterisk to install. It’s that easy! New torrents were released this week as well thanks to our good friend, Isaac McDonald. Torrents are available for the latest PIAF 2.0.6.5.0 ISOs as well as two virtual machine builds for PIAF-Green™ with FreePBX™ 2.11 and Incredible PBX 11. Just visit the PIAF web site to grab your favorite torrent. Merry Christmas everybody!

For long time Nerd Vittles readers, you may recall that we built the original Incredible PBX™ for Raspberry Pi® (aka Incredible Pi) using much of the development platform pioneered by Gernot Bauer of RasPBX™ fame. In the early days of Gernot’s project, we just couldn’t get the necessary pieces in place on his platform to support Incredible PBX so we temporarily forked his terrific work in order to get Incredible Pi out the door quickly. That was then, and this is now as they say. RasPBX has grown in popularity because of the untiring efforts of Gernot & Co. in continually improving the platform. And six months ago, RasPBX was ported to the BeagleBone Black. Don’t be misled by its tiny footprint. The BeagleBone Black1 provides nearly triple the performance of a $35 Raspberry Pi for an extra $10 to $25 hardware investment depending upon where you buy the board. The rainbow case is a few cents more. :wink:

Let us cut to the chase. Run, don’t walk, to buy a BeagleBone Black! It’s that good. If Amazon is sold out, here is a link to other suppliers. See also this thread on the PIAF Forum for the latest availability news. In terms of performance, we would be hard-pressed to distinguish the BeagleBone Black’s performance from an identical Asterisk® and FreePBX®-based system running on the Intel® Atom® platform. The performance boost is that dramatic. So a few weeks ago we decided to take another look at the RasPBX platforms with the goal of porting Incredible PBX in much the same way that we currently provide the add-on for PBX in a Flash™ builds. The advantage for us is that it gets us out of the hardware business and lets us concentrate on building better VoIP application software. The advantage for you is it gives you additional choices, and they’re all still free!


UPDATE: Good News and More Good News. Everything covered below works flawlessly on the Raspberry Pi and BeagleBone Black platforms. On the Beaglebone Black hardware, everything works except GoogleTTS, and our friend, Lefteris Zafiris, will have a fix soon. GoogleTTS goes through the motions of converting text to speech, but the output is a constant high-pitched beep. For the short term, on the BeagleBone Black, we’ve substituted Flite for GoogleTTS until there is a fix. Soon with a little luck! We’ve also added an experimental IPtables Firewall WhiteList to the BeagleBone Black platform. Please read this thread on the PIAF Forum for details and keep us apprised of your progress. The complexity of the GoogleTTS fix for the BeagleBone Black made it an unsuitable candidate for the automatic update utility. Our apologies. We’ve set up a demo IVR application so you can check out the performance of Incredible PBX on the BeagleBone Black for yourself.

Nerd Vittles Demo IVR Options
1 – Call by Name (say “Delta Airlines” or “American Airlines” to try it out)
2 – MeetMe Conference (password is 1234)
3 – Wolfram Alpha (say “What planes are overhead?”)
4 – Lenny (The Telemarketer’s Worst Nightmare)
5 – Today’s News Headlines
6 – Weather Forecast (say the city and state, province, or country)
7 – Today in History
8 – Speak to a Real Person (or maybe just voicemail if we’re out)

Overview of Incredible PBX for RasPBX. Let’s quickly run down the new feature set for Incredible PBX 4.11.3 on the RasPBX platform. With the demise of Google Voice less than six months away, we thought it was important to begin offering some additional choices. With this build, you’ll have a dozen preconfigured VoIP trunks from the best providers in the business to choose from. Most offer outbound calls in the U.S. and Canada for a penny or less per minute. And many offer DID trunks with unlimited inbound calls for under $5 a month. Several offer free SIP URIs, or free U.S. DIDs, or free iNum DIDs for unlimited free calling worldwide. You’ll find lots of tips and suggestions in the Providers section of the PIAF™ Forum. Once you’ve signed up with one or more providers, all you have to do is plug in your credentials and enable the desired trunks in FreePBX. It only takes a few seconds.

We also wanted to provide a robust collection of Asterisk applications that let you bring up a fully-functional, feature-rich VoIP platform in a matter of minutes. As with all Incredible PBX builds, this release activates the Flite text-to-speech engine as well as Google’s TTS and STT interfaces. The Baker’s Dozen VoIP applications we’ve chosen for this initial release include free CallerID Name lookups for incoming calls, Voice Dialing with speech-to-text (STT) capability as well as Speed Dials, Yahoo News and Weather reports with text-to-speech (TTS) translation of the Yahoo news feeds, Weather Reports by ZIP code from the National Weather Service, MeetMe conferencing by simply dialing an extension, Telephone Reminders and Hotel-Style Wakeup Calls (both accessible by phone or via FreePBX GUI), Today in History, SMS messaging, Wolfram Alpha, and our versatile AsteriDex contacts database. We’ve also integrated the Incredible PBX automatic update service into the RasPBX build. Just log into your server once in a while, and the rest is automagic. You also get email delivery of voicemails in MP3 format so that you can play back your messages with almost any email client. Finally, there’s a new status application to tell you everything you want to know about your RasPBX server in a single screen.

Getting Started. Incredible PBX for RasPBX is basically a scripted installer. It assumes you already have a functioning RasPBX device. The only gotcha is your RasPBX system needs to be freshly created with no customization. This is important because, as part of the installation procedure, Incredible PBX loads a 15MB image snapshot that overwrites all of your Asterisk, FreePBX, and MySQL configurations. If you have previously customized your setup or added features such as faxing, those will get wiped out during the Incredible PBX installation process. Bottom Line: Start by creating a new RasPBX SD image for use with Incredible PBX. Boot RasPBX and log in as root. Download and run the Incredible PBX installer. Once the Incredible PBX install is complete, customize your new system as desired. While nothing is 100% bullet-proof, we’ve taken pains to design Incredible PBX in such a way that it can coexist with future updates to RasPBX deployed through the raspbx-upgrade utility. And Incredible PBX has its own update utility, update-my-raspbx, which is run automatically when you log into your server as root. Finally, we are confident that this new Incredible PBX release is stable; however, it is version 1.0 software and should be treated as such at least through the end of 2013. Please report any bugs you discover on the PIAF Forum, and we will attempt to provide timely fixes.

Installing Incredible PBX. As noted, we’re assuming you already have created a fresh SD card with your RasPBX image. If not, start with the first four steps only of the excellent tutorials for the Raspberry Pi or BeagleBone Black. Next, boot your system from the SD card and log in with username root and password raspberry or beaglebone depending upon your hardware platform. Be sure you have a working Internet connection for your hardware. Then proceed with the Incredible PBX installation procedure below:

cd /
wget http://incrediblepbx.com/incrediblepbx11-raspbx.gz
gunzip incrediblepbx11-raspbx.gz
chmod +x incrediblepbx11-raspbx
./incrediblepbx11-raspbx

Hang around for the first couple minutes of the install. You’ll be prompted to type a Y as part of the raspbx-upgrade procedure. Once you get past that prompt, you can go have a cup of coffee while the installation procedure continues. It takes about 15-30 minutes to complete depending upon the speed of your Internet connection. Once the base install finishes, the update-passwords script will be launched. It’s imperative that you reset all of your passwords with very secure passwords immediately. This includes the root password, the FreePBX and ARI admin passwords, the extension 701 password, the extension 701 voicemail password, the email delivery address for extension 701, and the telephone reminders password for scheduling reminders by phone. Just fill in the blanks, and the script will do the heavy lifting.

Asterisk Security. Once the Incredible PBX install completes, what you still have is an Incredibly Insecure PBX. Unless you’ve already done so, make certain that Incredible PBX is repositioned behind a hardware-based firewall with no Internet port exposure! This is very important. Neither Asterisk nor FreePBX was designed for direct exposure to the Internet. Before you do anything else, read our Primer on Asterisk Security. Remember, it’s your phone bill.

UPDATE: Travelin’ Man 3 Now Implemented. Beginning with Incredible PBX 4.11.3, IPtables WhiteList security was added to the RasPBX BeagleBone Black platform. And version 4.11.4 released on 1-4-14 added it to the Raspberry Pi edition of RasPBX as well. For the nuts and bolts of how the IPtables firewall and WhiteLists work, read the Travelin’ Man 3 tutorial. Do NOT install the application! It’s already there. We still recommend that you always run your server behind a hardware-based firewall. Travelin’ Man 3 just adds an extra layer of protection. Think of it as a second condom without the pain. :wink:

As initially configured, IPtables is set up to allow all incoming and outgoing traffic. It will display as DN in the status display. You have a couple of options. If you only want to allow incoming traffic from phones and users on your private LAN while permitting registered SIP and IAX trunk connections from anywhere, then log into your server as root and execute this command:

cp /root/iptables.lanonly /etc/network/iptables

If you want to further lock down your server and manage all external connections from outside your LAN, run: /root/secure-iptables. As configured, IPtables never blocks internal LAN traffic. By running secure-iptables, you get to set one “safe” external IP address for access to your server in addition to automatically configuring the safe IP addresses of a dozen SIP providers. You then can add additional IP addresses to your WhiteList by running /root/add-ip or /root/add-fqdn. You can delete providers with /root/del-acct. Check the status of your IPtables setup at any time with this command: iptables-status. Restart/reload IPtables settings using only this command: iptables-restart. If you use the traditional IPtables reload procedure, you will permanently erase any fully-qualified domain names in your IPtables configuration and convert them (permanently) to IP addresses. Don’t do it! Always use iptables-restart. Never erase files in /root with the .iptables extension. This is how Travelin’ Man 3 keeps track of your WhiteList entries so that you can delete as desired. For further details, read the Travelin’ Man 3 article.

Overclocking the Raspberry Pi. On the Raspberry Pi platform only, to enable overclocking at your own risk, run: raspi-config. Overclocking works for us. YMMV! The key is a good power supply. Even though the kernel now monitors CPU temperature and manages overclocking, it’s always nice to see for yourself. To monitor the CPU temperature, just run the status program which provides a current snapshot anytime.

Resizing an SD Card. On both the BeagleBone Black and Raspberry Pi platforms, you can resize (expand) the default partition to accommodate a larger SD card. On the Raspberry Pi, the default partition is 4GB. On the BeagleBone Black, it’s only 2GB. To resize the partition to make use of a larger SD card on a Raspberry Pi, choose the resize option after running raspi-config. Then reboot. The BeagleBone Black is a different beast. While we don’t recommend it, you can actually run Incredible PBX using the internal 2GB eMMC memory board rather than an external Micro SD card. Gernot’s documentation will walk you through how to do it. While it is screaming fast compared to an SD card, you’ll only have 371MB of breathing room so it means constant monitoring of your log files and minimal use of functions that consume disk space. Or you could create a cron job to run daily and use a script like ours:
#!/bin/bash
cd /var/log/asterisk
touch empty.log
chmod 664 empty.log
chown asterisk:asterisk empty.log
cp empty.log freepbx_dbug
cp empty.log freepbx_debug
cp empty.log freepbx.log
cp empty.log full
cd ..
rm *.0*
rm *.1*
rm /tmp/ggl*

We much prefer at least an 8GB Type 4 SD card for Incredible PBX. On the BeagleBone Black, we’ve added the resize-partition script in the /root folder. Just run it after booting from your Micro SD card.

Setting Up Google Voice. If you want free calling in the U.S. and Canada for the next five months, then you’ll need a Google Voice account, and you’ll need one dedicated to Incredible PBX, or it won’t work. Log out after setting up the new Google Voice account! Also note that Google Voice will cease to function on May 15, 2014. Read all about it here.

  • Register for Google Voice account (no funky characters in your password!)
  • Enable Google Chat as Phone Destination
  • Configure Google Voice Calls Settings:
    • Call ScreeningOFF
    • Call PresentationOFF
    • Caller ID (In)Display Caller’s Number
    • Caller ID (Out)Don’t Change Anything
    • Do Not DisturbOFF
    • Call Options (Enable Recording)OFF
    • Global Spam FilteringON

  • Place test call in and out using GMail Call Phone

Accessing Incredible PBX By GUI. You don’t have to be a Linux guru to use Incredible PBX. In fact, we’re just about finished with the Linux command prompt, but stay logged in until we finish a few more steps below. Most of your configuration of Incredible PBX will be performed using the FreePBX Web GUI.

If you’re new to Asterisk and FreePBX, here’s the one paragraph primer on what needs to happen before you can make free calls with Google Voice. You’ll obviously need a free Google Voice account. This gets you a phone number for people to call you and a vehicle to place calls to plain old telephones throughout the U.S. and Canada at no cost. You’ll also need a softphone or SIP phone to actually place and receive calls. YATE makes a free softphone for PCs, Macs, and Linux machines so download your favorite and install it on your desktop. Phones connect to extensions in FreePBX to work with Incredible PBX. Extensions talk to trunks (like Google Voice) to make and receive calls. FreePBX uses outbound routes to direct outgoing calls from extensions to trunks, and FreePBX uses inbound routes to route incoming calls from trunks to extensions to make your phones ring. In a nutshell, that’s how a PBX works. There are lots of bells and whistles that you can explore down the road.

Let’s get started. Using a browser, enter the IP address of your server or just use http://raspbx.local as the address. Choose FreePBX Administration. When prompted for a username and password, use admin for the username and whatever FreePBX password you set up when you initially configured your server above. If you ever forget your credentials, just run /root/update-passwords again to reset them.

Changing FreePBX admin Password and Default Email. From the main FreePBX GUI, click Admin => Administrators. Click on admin user in the far-right column. Enter a new Password and click Submit Changes button. We did this in update-passwords, but now you’ll know how to do it from with the FreePBX GUI as well. Click Apply Config button. Be sure to set your default email address in the right margin of Admin -> Module Admin and save your entry. By doing this, you’ll get periodic notices of FreePBX updates. It’s a good idea to stay current with these. They are generally well tested before release.

Activating a Google Voice Trunk. To create a Trunk in FreePBX to handle calls to and from Google Voice, you’ll need three pieces of information from the Google Voice account you set up above: the 10-digit Google Voice phone number, your Google Voice account name, and your Google Voice password. Choose Connectivity -> Google Voice (Motif) from the FreePBX GUI. The following form will appear:

Fill in the blanks with your information and check only the top 2 boxes. If your Google Voice account name ends in @gmail.com, leave that out. Otherwise, include the full email address. Then click Submit Changes and Apply Config.

There’s one more step or your Google Voice account won’t work reliably with Incredible PBX! From the Linux command prompt while logged into your server as root, restart Asterisk: amportal restart

Setting a Destination for Incoming Calls. Now that you’ve created your Google Voice Trunk, we need to tell FreePBX how to process inbound calls when someone dials your Google Voice number. There are any number of choices. You could simply ring an extension such as 700 which we’ve already set up for you. Or you could ring multiple extensions by first creating a Ring Group which is just a list of extension numbers. Or you could direct incoming calls to an Interactive Voice Response (IVR) system.

By default, Incredible PBX is configured to route all incoming calls to extension 701. You can change this whenever you like by choosing Connectivity -> Inbound Routes -> Default. In the Set Destination section of the form, change the target to your desired destination for the incoming calls. Then click Submit and Apply Config.

Changing Extension Passwords. From the main FreePBX GUI, choose Applications -> Extensions. Then click on 701 in the Extension List on the right side of your display. You’ll see a form that looks like this:

We’ve already made these changes using update-passwords, but here’s how to do it in the FreePBX GUI. The extension secret needs to be a combination of letters and numbers. The Voicemail Password needs to be all numbers, preferably six or more. Replace the existing passwords with your own (very secure) entries. You also need to lock down this extension so that it is only accessible from devices on your private LAN. You do that with the deny and permit entries which currently are filled with zeroes. Leave the deny entry the way it is which tells Incredible PBX to block everybody except those allowed in the permit entry below. For the permit, we need the first three octets of your private LAN address, e.g. if your LAN is 192.168.0.something then the permit entry will be 192.168.0.0/255.255.255.0.

Finally, you need to insert your actual email address in the Voicemail section so that voicemails can be delivered to you when someone leaves a message. You can also include a pager email address if you want a text message alert with incoming voicemails. If you want the voicemails to automatically be deleted from the server after they are emailed to you (a good idea considering the disk storage limitations of an SDHC card), change the Delete Voicemail option from No to Yes. That’s it. Now save your settings by clicking the Submit button. Then reload the dialplan by clicking on the red prompt when it appears.

In case you’re curious, unless you’ve chosen to automatically delete voicemails after emailing them, you can retrieve your voicemails for extension 701 by dialing *98701 from any extension on your phone system. You’ll be prompted to enter the voicemail password you set up. And you can leave a voicemail for someone by dialing their extension number preceded by an asterisk, e.g. *701 would let someone leave you a voicemail without actually calling you.

Eliminating Audio and DTMF Problems. You can avoid one-way audio on calls and touchtones that don’t work with these simple settings in FreePBX: Settings -> Asterisk SIP Settings. Just plug in your public IP address and your private IP subnet. Then set ULAW as the only Audio Codec.

Setting Up a Desktop Softphone. Incredible PBX supports all kinds of telephones, but we’ll start with the easy (free) one today. You can move on to “real phones” once you’re smitten with the VoIP bug. For today, you’ll need to download a softphone to your desktop PC or Mac.

As we mentioned, the easiest way to get started with Incredible PBX is to set up a YATE softphone on your Desktop computer. Versions are available at no cost for Macs, PCs, and Linux machines. Just download the appropriate one and install it from this link. Once installed, it’s a simple matter to plug in your extension 701 credentials and start making calls. Run the application and choose Settings -> Accounts and click the New button. Fill in the blanks using the IP address of Incredible PBX, 701 for your account name, and whatever password you created for the extension. Click OK.

Once you are registered to extension 701, close the Account window. Then click on YATE’s Telephony Tab and place your first call. It’s that easy!

Incredible Trunks. When you’re ready to try some other SIP providers, we’ve done the hard work for you by providing the setups for a dozen terrific providers. All you have to do is sign up for service on their sites, enable the desired Trunks in FreePBX, and plug in your credentials. Here is a quick Cheat Sheet courtesy of Kristian Hare, who translated the Incredible PBX setups into a spreadsheet. Just click on the image below to open it in a new window. Then click on the redisplayed image to enlarge it.

Adding WiFi Support. This is covered on Gernot’s web site, but we’ll address it just for ease of reference. The most important detail is don’t get creative with your choice of USB WiFi adapters. The Edimax EW-7811Un works so use it. It’s about $10 from Amazon with free 2-day Prime shipping. Next, edit /etc/network/interfaces and add the following lines using the name of your WiFi network as well as your password “in quotes”:

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid your-ssid-here-no-quotes
wpa-psk "your-passphrase-here-with-quotes"

Next, reboot your server and login as root. Your USB WiFi adapter should be lit. Running ifconfig should display an IP address for wlan0. ifdown eth0 will shut down your wired connection. Then restart Asterisk to switch to WiFi: amportal restart.

Shutting Down Your Server. Last but not least, never just pull the plug when you want to shut down your server, or you may end up with corrupted MySQL databases. Then nothing will run. Instead, log into your server as root, and issue the following commands: amportal stop and then shutdown -h now.

The Incredible PBX 4.11.3 Software Collection

Now for the fun stuff. For most folks getting started with Asterisk and FreePBX, the steepest learning curve is moving from a functioning system to one that can actually do cool stuff. Text-to-speech and speech-to-text applications and IVRs and call management and conferencing and click to dial and SMS messaging and faxing are what separate the men from the boys on the Asterisk playing field. And that’s where Incredible PBX really shines. You don’t have to do anything but choose the apps you want to deploy for yourself or your users. Everything is already in place. If you don’t use it, it doesn’t consume any computing resources. So it’s not like the bloatware of decades ago that was always sitting in memory wasting your computing cycles. Here’s a quick thumbnail on each of the applications that’s included in Incredible PBX for RasPBX. You can include almost all of these applications in your IVRs so that callers can make a selection from a list of menu choices. We’ve included the appropriate FreePBX links below. On many of the apps, we’ve also included links to Nerd Vittles or PIAF Forum tutorials for more detailed documentation when you need it.

News Headlines from Yahoo

How It Works. Dial 951. Listen to latest news headlines from Yahoo.

Prerequisites: Uses preconfigured Google TTS.

Setup Required: None

IVR/Dialplan Integration: Misc Destination -> News Headlines

Worldwide Weather Forecasts by City from Yahoo

How It Works. Dial 949. Say the name of a city and state/country for weather report desired. Press #. Listen.

Prerequisites: Uses preconfigured Google STT for query and Google TTS for playback.

Setup Required: None

IVR/Dialplan Integration: Misc Destination -> Weather by City

Worldwide Weather Forecasts by City from Weather Underground

How It Works. Dial 949. Say the name of a city and state/country for weather report desired. Press #. Listen.

Prerequisites: Requires free Weather Underground API key. Uses preconfigured Google STT for query and Google TTS for playback.

Setup Required: Obtain free Weather Underground API key. In /var/lib/asterisk/agi-bin, insert your API key in $apikey of nv-weather-underground.php. Copy nv-weather-underground.php to nv-weather-google.php. Replaces Yahoo Weather by City and provides best available free weather reports.

Limitations. Free account supports up to 10 calls per minute and up to 500 calls per day.

IVR/Dialplan Integration: Misc Destination -> Weather by City

U.S. Weather Forecasts by ZIP Code from National Weather Service

How It Works. Dial 947 (Z-I-P). Enter 5-digit ZIP code for weather report desired. Listen.

Prerequisites: Uses preconfigured Flite TTS to deliver weather report.

Setup Required: None

IVR/Dialplan Integration: Misc Destination -> Weather by ZIP

Today in History from HistoryOrb.com

How It Works. Dial 86329 (T-O-D-A-Y). Listen to today’s important events in history.

Prerequisites: Uses preconfigured Flite and Google TTS to deliver report.

Setup Required: None

IVR/Dialplan Integration: Misc Destination -> Today in History

Schedule Reminders by Phone and Web

How It Works. Dial 123. Enter password. Schedule a reminder or recurring reminder.

Web Interface. FreePBX -> Other -> Reminders to schedule, review, or delete existing reminders.

Prerequisites: Requires configuration of password with /root/update-passwords.

Setup Required: None. Complete tutorial available here.

IVR/Dialplan Integration: Misc Destination -> Reminders

Hotel-Style Wakeup Calls

How It Works. Dial *68. Schedule a wakeup call just like in the hotel.

Web Interface. FreePBX -> Applications -> Wake Up Calls to schedule and configure wakeup calls.

Prerequisites: None.

Setup Required: None. Complete tutorial available here.

IVR/Dialplan Integration: Misc Destination -> Wakeup Calls

Time of Day

How It Works. Dial *61. Check the time just like in the Ma Bell era.

Prerequisites: None.

Setup Required: None.

IVR/Dialplan Integration: Misc Destination -> Time of Day

AsteriDex Phone Book and RoboDialer

How It Works. Open AsteriDex. Populate entries. Set click-to-dial extension. Click on person/company to call. Answer ringing call on your designated click-to-dial extension. Wait for called party to be connected.

Web Interface. FreePBX -> Other -> AsteriDex to update directory and to place click-to-dial calls.

Prerequisites: Populate the AsteriDex directory with your favorite people and places to call.

Setup Required: Complete tutorial for AsteriDex is available here. Import Google Contacts. Import Outlook Contacts. Import from Exchange Server. Import Mac Address Book or CSV Contacts.

AsteriDex Voice Dialer

How It Works. Dial 411. Say the name of person or company to call. Entry is looked up from AsteriDex and called.

Web Interface. FreePBX -> Other -> AsteriDex to update directory and to place click-to-dial calls.

Prerequisites: Populate the AsteriDex directory with your favorite people and places to call. Uses Google STT.

Setup Required: None. Complete tutorial for AsteriDex is available here.

IVR/Dialplan Integration: Misc Destination -> Voice Dialer

AsteriDex Speed Dialing Duo

How It Works. Dial 412. Enter Speed Dial code of person/company. Entry is looked up from AsteriDex and called.

Alternative. Dial 000 + Speed Dial code. Entry is looked up from AsteriDex and called.

Web Interface. FreePBX -> Other -> AsteriDex to update directory and to place click-to-dial calls.

Prerequisites: Populate the AsteriDex directory with your favorite people and places to call. Include a DialCode for speed dial.

Setup Required: None. Complete tutorial for AsteriDex is available here.

IVR/Dialplan Integration: Misc Destination -> Call by Code

SMS Dictator

How It Works. Dial 767 (S-M-S). Say either the name of an AsteriDex entry or enter an SMS phone number to call. Dictate a message to be sent via Google SMS. Your message is converted to text and delivered via Google SMS.

Prerequisites: Requires Google Voice account and SMS Dictator setup. Uses preconfigured Google STT.

Setup Required: Before first use, sign up for a Google Voice account that can be dedicated to Incredible PBX use. Run install-smsdictator.sh in /root to configure SMS Dictator with your credentials. Complete documentation available here. May cease to function on May 15, 2014.

IVR/Dialplan Integration: Misc Destination -> SMS Dictator

SMS Message Blasting

How It Works. Run the smsblast script in /root to deliver an SMS text message stored in smsmsg.txt to all of the SMS recipients configured in smslist.txt.

Prerequisites: Requires Google Voice account and SMS Blaster setup.

Setup Required: Before first use, sign up for a Google Voice account that can be dedicated to Incredible PBX use. Untar smsblast.tgz in /root: tar zxvf smsblast.tgz. Edit smsblast and insert your Google Voice credentials. Edit smsmsg.txt and type your SMS message to be sent. Edit smslist.txt and prepare your SMS message recipient list. Then run smsblast to deliver your messages. May cease to function on May 15, 2014.

Wolfram Alpha

How It Works. Dial 4747. Say your query for Wolfram Alpha. Examples here. Listen to results.

Prerequisites: Requires free Wolfram Alpha account and setup. Uses preconfigured Google STT and Flite.

Limitations: Free account restricted to 2,000 queries per month.

Setup Required: Before first use, sign up for a Wolfram Alpha account and obtain AppID. Then configure Wolfram Alpha with your credentials by running install-wolframalpha.sh in /root. Complete documentation available here.

IVR/Dialplan Integration: Misc Destination -> Wolfram Alpha

MeetMe Conferencing

How It Works. Dial 2663 (C-O-N-F). Enter user or admin PIN for conference room. Participate in conference call.

Prerequisites: None.

Setup Required: Configure your participant and admin PINs: FreePBX -> Applications -> Conferences -> 2663

IVR/Dialplan Integration: Conferences -> 2663

Telemarketers and Old Girl Friends: Meet Lenny

How It Works. Dial 53669 (L-E-N-N-Y). An entertaining solution for SPAM calls. Also configured as destination for callers on your BlackList.

Prerequisites: None. Read all about Lenny here.

Setup Required: Add 10-digit numbers of spammers to Admin -> Blacklist or dial *32 to BlackList your last caller.

IVR/Dialplan Integration: Extension -> 53669

HylaFax/AvantFax Fax Server

How It Works. Dial 329 (F-A-X). Faxing already is available as a module in RasPBX. You can send faxes to Incredible PBX using almost any SIP or Google Voice DID that you’ve dedicated to faxing.

Prerequisites: Read the Fax Gateway tutorial on Gernot’s web site.

Setup Required: After installing Incredible PBX, run the install-fax script to set up the HylaFax/AvantFax servers. When prompted whether to add an extension, type Y. We recommend 329 for the extension number. It spells F-A-X and makes it easy for everyone to remember the dedicated fax extension on your system. Specify an email address for delivery of the incoming faxes. Switch to FreePBX and add an Incoming Route for the DID that you’ve dedicated to incoming faxes. Specify 329 as the destination. To add additional fax numbers with additional email destinations, run add-fax-extension.

IVR/Dialplan Integration: Extension -> 329

Bluetooth Proximity Detection

Finally, if you really want to impress your friends, buy yourself a cheap Bluetooth adapter and set up a Proximity Detection System that will forward your Asterisk calls to your cellphone when you’re away from your desk. This Nerd Vittles article will walk you through the quick setup process. Before you begin, just install bluez on your Raspberry Pi or BeagleBone Black: apt-get install bluez.

A Word About Flite TTS

We’ve included FLITE as the generic text-to-speech engine for Asterisk. The quality of Google TTS is much better, but we never know how long Google apps will continue to function. Because FLITE is actually integrated into Asterisk, it is susceptible to breakage if a RasPBX upgrade installs a new release of Asterisk. If this happens, you’ll know when FLITE goes silent. You can also run the following command from the Linux command prompt to check it. If you don’t get a page of FLITE information, it’s broken. :-)

asterisk -rx "core show application like flite"

Don’t fret if FLITE breaks. Here’s how to fix it:

cd /usr/src/flite
make clean
make
make install
amportal restart

A Word About MySQL

To eliminate the need to maintain separate versions of Incredible PBX for RasPBX on the Raspberry Pi and BeagleBone Black platforms, we’ve changed the MySQL password on both platforms to raspberry. Originally, beaglebone was the assigned password on the BeagleBone Black RasPBX implementation.


Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a terrible place to handle support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forums. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of ordinary users just like you. You won’t have to wait long for a courteous response.

Originally published: Tuesday, December 10, 2013    Updated: Tuesday, December 24, 2013



Need help with Asterisk? Visit the PBX in a Flash Forum.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


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

The Definitive VoIP Quick Start Guide: Introducing PBX in a Flash 2.0.6.5.0

What a difference a year makes in the VoIP World! We now have a rock-solid, reliable Asterisk® 11 release and an equally stable FreePBX 2.11 on which to build state-of-the-art VoIP servers. If you’re new to the VoIP community, watch this video before you proceed.


Now let us welcome you to the World of PBX in a Flash™. This is our best release ever whether you’re a total newbie or an experienced Asterisk developer. You can’t really appreciate what goes into an open source product like PBX in a Flash until you try doing it yourself. The sad part is we and the CentOS™ development team are part of a dwindling few non-commercial entities that still are in the open source “business.” If you want to actually learn about Asterisk from the ground up using pure source code to customize your VoIP deployment, PBX in a Flash has no competition because your only other option is to roll your own starting with a Linux DVD. So our extra special kudos go to Tom King, who once again has produced a real masterpiece in that it is very simple for a first-time user to deploy and, at the same time, incredibly flexible for the most experienced Asterisk developer. The new PIAF 2.0.6.5.0 ISOs not only provide a choice of Asterisk® and FreePBX® versions to get you started. But now you can build and deploy standalone servers for SugarCRM™, NeoRouter™ VPN, YATE™, FreeSwitch™, and OpenFire™ XMPP using the 32-bit and 64-bit PIAF™ ISOs. So let’s get started.

Making a Hardware Selection

We’re going to assume that you need a VoIP telephony solution that will support an office of up to several dozen employees and that you have an Internet connection that will support whatever your simultaneous call volume happens to be. This is above and beyond your normal Internet traffic. To keep it simple, you need 100Kbps of bandwidth in both directions for each call.1 And you need a router/firewall that can prioritize VoIP traffic so that all your employees playing Angry Birds won’t cause degradation in VoIP call quality. Almost any good home router can now provide this functionality. Remember to disable ALG on your router, and it’s smooth sailing.

For computer hardware, you’ll need a dedicated machine. There are many good choices. Unless you have a burning desire to preserve your ties with Ma Bell, we recommend limiting your Ma Bell lines to your main number. Most phone companies can provide a service called multi-channel forwarding that lets multiple inbound calls to your main number be routed to one or more VoIP DIDs much like companies do with 800-number calls. If this works for you, then any good dual-core Atom computer will suffice. You’ll find lots of suggestions in this thread. And the prices generally are in the $200-$400 range. For larger companies and to increase Asterisk’s capacity with beefier hardware, see these stress test results.

If your requirements involve retention of dozens of Ma Bell lines and complex routing of calls to multiple offices, then we would strongly recommend you spend a couple thousand dollars with one of our consultants. They’re the best in the business, and they do this for a living. They can easily save you the cost of their services by guiding you through the hardware selection process. They also have turnkey phone systems using much the same technology as you’ll find in PBX in a Flash. You won’t hurt our feelings. :-)

Choosing the Right PIAF Platform

We get asked this question about a hundred times a week on the forums so here goes. There are more than two dozen permutations and combinations of CentOS, Asterisk, and FreePBX to choose from when you decide to deploy PBX in a Flash. We always recommend the latest version of CentOS because it tends to be the most stable and also supports the most new hardware. You have a choice to make between a 32-bit OS or 64-bit. Our preference is the 32-bit platform because it is better supported. The performance difference is virtually unnoticeable for most VoIP applications. With Asterisk, we always recommend an LTS release because these have long-term support. That narrows your choices to Asterisk 1.8 or Asterisk 11. At this juncture, we think you’d be crazy to install anything other than Asterisk 11. It’s incredibly reliable and stable, and it will be supported for years to come. It also supports Digium Phones. The bottom line is that Asterisk 11 is the latest and greatest with the best feature set. If we were building a system for a commercial business, it would be our hands-down choice. In the PBX in a Flash world, we have colors for various versions of PBX in a Flash that support different versions of Asterisk. Asterisk 11.6 happens to be the latest PIAF-Green, and we recommend you install it with the latest version of FreePBX as well, 2.11.0.11

Choosing the Right Phones

If there is one thing that will kill any new VoIP deployment, it’s choosing the wrong phones. If you value your career, you’ll let that be an organization-driven decision after carefully reviewing at least 6-12 phones that won’t cause you daily heartburn. You and your budget team can figure out the price points that work in your organization keeping in mind that not everyone needs the same type of telephone. Depending upon your staffing, the issue becomes how many different phone sets are you and your colleagues capable of supporting and maintaining on a long term basis.

Schmooze Com has released their commercial End Point Manager (EPM) at a price point of $39 per server. They’ve been using the application internally to support their commercial customers for over a year. Suffice it to say, it’s the best money you will ever spend. You can sign up for an account with Schmooze through our commercial support site and purchase the software now. You can review the Admin User Guide here. The beauty of this software is it gives you the flexibility to support literally hundreds of different VoIP phones and devices almost effortlessly. Using a browser, you can configure and reconfigure almost any VoIP phone or device on the market in a matter of minutes. So the question becomes which phones should you show your business associates. That again should be a decision by you and your management and budget teams, but collect some information from end-users first. Choose a half dozen representative users in your company and get each of them to fill out a questionnaire documenting their 10 most frequent daily phone calls and listing each step of how they processed those calls. That will give you a good idea about types and variety of phones you need to consider for different groups of users. Cheaper rarely is better. Keep in mind that phones can last a very long time, even lousy ones. So choose carefully.

The phone brands that we would seriously consider include Yealink, Aastra, Snom, Digium, Mitel, Polycom, Cisco, and Grandstream. Do you need BLF, call parking or multiple line buttons, a hold button, conferencing, speakerphone, HD voice, power over Ethernet support, distinctive ringtones for internal and various types of external calls, Bluetooth, WiFi, web, SMS, or email access, an extra network port for a computer, headset support, customizable buttons (how many?), quick dial keys, custom software, XML provisioning, VPN support? How easy is it to transfer a call? Do you need to mimic key telephones? Also consider color screens, touch screens, busy lamp indicators, extension modules (what capacity?). What do we personally use: Yealink’s T46G is our favorite, and we also have several Digium phones of various types, a couple of Aastra phones, a Grandstream GXP2200, and a collection of Panasonic cordless DECT phones, a fax machine as well as a Samsung Galaxy S4 and Moto X connected through an OBi202 with an OBiBT Bluetooth Adapter.

Installing PBX in a Flash

With the office politics out of the way, let’s get to the fun stuff.

For most deployments, choose the default install by pressing Enter.

Leave the UTC System Clock option unchecked and pick your Time Zone. Tab to OK and press Enter.

Choose a very secure Root Password. Tab to OK and press Enter. Your server will whir away for 5-10 minutes installing CentOS 6.4. When the reboot begins, remove the DVD or USB thumb drive.

Log into your server as root from either the console or an SSH connection to the IP address displayed on your server. Unless you need to install custom hardware drivers, choose the first option to install PBX in a Flash.

For today, we’re installing PBX in a Flash. So leave it highlighted, tab to OK, and press Enter.

Now pick your PIAF flavor, tab to OK, and press Enter. You’ll note there are some new colors. :-)

The PIAF Configuration Wizard will load. Press Enter to begin.

Unlike any other aggregation, PIAF gives you the opportunity to fully configure Asterisk using make menuconfig if you know what you’re doing. For everyone else, type N and then confirm your choice.

Next, you’ll need to choose your Time Zone again for PHP and FreePBX. Don’t worry if yours is missing. A new timezone-setup utility is also to reconfigure this to any worldwide time zone once the install has completed.

Next, choose your version of FreePBX to install. If you plan to also install Incredible PBX and Incredible Fax:

Incredible PBX 3 requires PIAF-Purple and FreePBX 2.9
Incredible PBX 4 requires PIAF-Purple and FreePBX 2.10 (32-bit only)
Incredible PBX 11 requires PIAF-Green and FreePBX 2.11 (recommended!)

Finally, you need to choose a very secure maint password for access to FreePBX using a browser. You can pick your own, or the installer will generate one for you. Don’t forget it.

The installer will give you one last chance to make changes. If everything looks correct, press the Enter key and go have lunch. Be sure you have a working Internet connection to your server before you leave. :wink:

In about 30-60 minutes, your server will reboot. You should be able to log in as root again using your root password. Write down the IP address of your server from the status display (above) and verify that everything installed properly. Note that Samba is disabled by default. If you want to use your server with Windows Networking, run configure-samba once your server is up and running and you’ve logged in. You also can ignore the MySQL DOWN alert shown above. Yours won’t say that. We’ve been experimenting with MariaDB as a MySQL replacement. You can read all about it in the Developers’ Corner of the PIAF Forum.

Configuring PBX in a Flash

Most PIAF Configuration is accomplished using the FreePBX Web GUI. Point your browser to the IP address shown in the status display above to display your PIAF Home Page. Click on the Users tab. Click FreePBX Administration. When prompted for your username and password, the username is maint. The password will be the FreePBX master password you chose in the Config Module phase of the PBX in a Flash installation procedure above.

If you’re new to Asterisk and FreePBX, here’s the one paragraph primer on what needs to happen before you can make free calls with Google Voice. You’ll obviously need a free Google Voice account. This gets you a phone number for people to call you and a vehicle to place calls to plain old telephones throughout the U.S. and Canada at no cost. You’ll also need a softphone or SIP phone to actually place and receive calls. YATE makes a free softphone for PCs, Macs, and Linux machines so download your favorite and install it on your desktop. Phones connect to extensions in FreePBX to work with PBX in a Flash. Extensions talk to trunks (like Google Voice) to make and receive calls. FreePBX uses outbound routes to direct outgoing calls from extensions to trunks, and FreePBX uses inbound routes to route incoming calls from trunks to extensions to make your phones ring. In a nutshell, that’s how a PBX works. There are lots of bells and whistles that you can explore down the road. FreePBX now has some of the best documentation in the business. Start here.

To get a minimal system functioning to make and receive calls, here’s the 2-minute drill. You’ll need to set up at least one extension with voicemail, and we’ll configure a free Google Voice account for free calls in the U.S. and Canada. Next, we’ll set up inbound and outbound routes to manage incoming and outgoing calls. Finally, we’ll add a phone with your extension credentials.

A Few Words About Security. PBX in a Flash has been engineered to run on a server sitting safely behind a hardware-based firewall with NO port exposure from the Internet. Leave it that way! It’s your wallet and phone bill that are at stake. If you’re running PBX in a Flash in a hosted environment with no hardware-based firewall, then immediately read and heed our setup instructions for Securing Your VoIP in the Cloud Server. We would encourage you to visit your PIAF Home Page regularly. It’s our primary way of alerting you to security issues which arise. You’ll see them posted (with links) in the RSS Feed shown above. If you prefer, you can subscribe to the PIAF RSS Feed or follow us on Twitter. For late-breaking enhancements, you also should regularly visit the Bug Reporting & Fixes Topic on the PIAF Forum.

Extension Setup. Now let’s set up an extension to get you started. A good rule of thumb for systems with less than 50 extensions is to reserve the IP addresses from 192.x.x.201 to 192.x.x.250 for your phones. Then you can create extension numbers in FreePBX to match those IP addresses. This makes it easy to identify which phone on your system goes with which IP address and makes it easy for end-users to access the phone’s GUI to add bells and whistles. In FreePBX 2.10 or 2.11, to create extension 201 (don’t start with 200), click Applications, Extensions, Generic SIP Device, Submit. Then fill in the following blanks USING VERY SECURE PASSWORDS and leaving the defaults in the other fields for the time being.

User Extension … 201
Display Name … Home
Outbound CID … [your 10-digit phone number if you have one; otherwise, leave blank]
Emergency CID … [your 10-digit phone number for 911 ID if you have one; otherwise, leave blank]

Device Options
secret … 1299864Xyz [randomly generated]
dtmfmode … rfc2833
Voicemail Status … Enabled
voicemail password … 14332 [make this unique AND secure!]
email address … yourname@yourdomain.com [if you want voicemail messages emailed to you]
pager email address … yourname@yourdomain.com [if you want to be paged when voicemail messages arrive]
email attachment … yes [if you want the voicemail message included in email]
play CID … yes [if you want the CallerID played when you retrieve message]
play envelope … yes [if you want date/time of the message played before the message]
delete Vmail … yes [if you want the voicemail message deleted after it's emailed to you]
vm options … callback=from-internal [to enable automatic callbacks by pressing 3,2 after playing a voicemail message]
vm context … default

Write down the passwords. You’ll need them to configure your SIP phone.

Extension Security. We cannot overstress the need to make your extension passwords secure. All the firewalls in the world won’t protect you from malicious phone calls on your nickel if you use your extension number or something like 1234 for your extension password if your SIP or IAX ports happen to be exposed to the Internet.

In addition to making up secure passwords, the latest versions of FreePBX also let you define the IP address or subnet that can access each of your extensions. Use it!!! Once the extensions are created, edit each one and modify the permit field to specify the actual IP address or subnet of each phone on your system. A specific IP address entry should look like this: 192.168.1.142/255.255.255.255. If most of your phones are on a private LAN, you may prefer to use a subnet entry in the permit field like this: 192.168.1.0/255.255.255.0 using your actual subnet.

Adding a Google Voice Trunk. There are lots of trunk providers, and one of the real beauties of having your own PBX is that you don’t have to put all of your eggs in the same basket… unlike the AT&T days. We would encourage you to take advantage of this flexibility. With most providers, you don’t pay anything except when you actually use their service so you have nothing to lose.

For today, we’re going to take advantage of Google’s current offer of free calling in the U.S. and Canada through the end of 2013. You also get a free phone number in your choice of area codes. PBX in a Flash now installs a Google Voice module under FreePBX -> Connectivity that lets you set up your Google Voice account with PBX in a Flash in just a few seconds once you have your credentials.

A Word to the Wise: All good things come to an end… especially those that are free. So plan ahead with some alternate providers that keep your phones working should Google decide to pull the plug or change the terms with Google Voice.

Signing Up for Google Voice. You’ll need a dedicated Google Voice account to support PBX in a Flash. The more obscure the username (with some embedded numbers), the better off you will be. This will keep folks from bombarding you with unsolicited Gtalk chat messages, and who knows what nefarious scheme will be discovered using Google messaging six months from now. So keep this account a secret!

We’ve tested this extensively using an existing Gmail account rather than creating a separate account. Take our word for it. Inbound calling is just not reliable. The reason seems to be that Google always chooses Gmail chat as the inbound call destination if there are multiple registrations from the same IP address. So… set up a dedicated Gmail and Google Voice account2, and use it exclusively with PBX in a Flash. Google Voice no longer is by invitation only. If you’re in the U.S. or have a friend that is, head over to the Google Voice site and register. If you’re living on another continent, see MisterQ’s posting for some tips on getting set up.

You must choose a telephone number (aka DID) for your new account, or Google Voice calling will not work… in either direction. You also have to tie your Google Voice account to at least one working phone number as part of the initial setup process. Your cellphone number will work just fine. Don’t skip this step either. Just enter the provided confirmation code when you tell Google to place the test call to the phone number you entered. Once the number is registered, you can disable it if you’d like in Settings, Voice Setting, Phones. But…

IMPORTANT: Be sure to enable the Google Chat option as one of your phone destinations in Settings, Voice Setting, Phones. That’s the destination we need for PBX in a Flash to function with Google Voice! Otherwise, inbound and/or outbound calls will fail. If you don’t see this option, you may need to call up Gmail and enable Google Chat there first. Then go back to the Google Voice Settings and enable it. Be sure to try one call each way from Google Chat in Gmail. Then disable Google Chat in GMail for this account. Otherwise, it won’t work with PIAF.

While you’re still in Google Voice Settings, click on the Calls tab. Make sure your settings match these:

  • Call ScreeningOFF
  • Call PresentationOFF
  • Caller ID (In)Display Caller’s Number
  • Caller ID (Out)Don’t Change Anything
  • Do Not DisturbOFF
  • Call Options (Enable Recording)OFF
  • Global Spam FilteringON

Click Save Changes once you adjust your settings. Under the Voicemail tab, plug in your email address so you get notified of new voicemails. Down the road, receipt of a Google Voice voicemail will be a big hint that something has come unglued on your PBX.

Configuring Google Voice Trunk in FreePBX. All trunk configurations now are managed within FreePBX, including Google Voice. This makes it easy to customize PBX in a Flash to meet your specific needs. Click the Connectivity tab in FreePBX 2.11 and choose Google Voice [Motif]. To Add a new Google Voice account, just fill out the form. NOTE: The form has changed from prior releases of FreePBX. Do NOT check the last box: Send Unanswered to GoogeVoice Voicemail, or you may have problems receiving incoming calls.

Google Voice Username is your Google Voice account name without @gmail.com. Password is your Google Voice password. NOTE: Don’t use 2-stage password protection in this Google Voice account! Phone Number is your 10-digit Google Voice number. Next, check only the first two boxes: Add Trunk and Add Outbound Routes. Then click Submit Changes and reload FreePBX. Down the road, you can add additional Google Voice numbers by clicking Add GoogleVoice Account option in the right margin and repeating the drill. For Google Apps support, see this post on the PIAF Forum.

Outbound Routes. The idea behind multiple outbound routes is to save money. Some providers are cheaper to some places than others. It also provides redundancy which costs you nothing if you don’t use the backup providers. The Google Voice module actually configures an Outbound Route for 10-digit Google Voice calling as part of the automatic setup. If this meets your requirements, then you can skip this step for today.

Inbound Routes. An Inbound Route tells PBX in a Flash how to route incoming calls. The idea here is that you can have multiple DIDs (phone numbers) that get routed to different extensions or ring groups or departments. For today, we’ll build a simple route that directs your Google Voice calls to extension 201. Choose Connectivity -> Inbound Routes, leave all of the settings at their default values except enter your 10-digit Google Voice number in the DID Number field. Enable CallerID lookups by choosing CallerID Superfecta in the CID Lookup Source pulldown. Then move to the Set Destination section and choose Extensions in the left pull-down and 201 in the extension pull-down. Now click Submit and save your changes. That will assure that incoming Google Voice calls are routed to extension 201.

IMPORTANT: Before Google Voice calling will actually work, you must restart Asterisk from the Linux command line interface. Log into your server as root and issue this command: amportal restart.

Eliminating Audio and DTMF Problems. You can avoid one-way audio on calls and touchtones that don’t work with these simple settings in FreePBX: Settings -> Asterisk SIP Settings. Just plug in your public IP address and your private IP subnet. Then set ULAW as the only Audio Codec.

General Settings. Last, but not least, we need to enter an email address for you so that you are notified when new FreePBX updates are released. In FreePBX 2.11, choose Admin -> Module Admin and click on the Upgrade Notifications shield on the right. Plug in your email address, click Submit, and save your changes. Done!

Setting Up a Desktop Softphone. PBX in a Flash supports all kinds of telephones, but we’ll start with the easy (free) one today. You can move on to “real phones” once you’re smitten with the VoIP bug. For today, you’ll need to download a softphone to your desktop PC or Mac.

The easiest way to get started is to set up a YATE softphone on your Desktop computer. Versions are available at no cost for Macs, PCs, and Linux machines. Just download the appropriate one and install it from this link. Once installed, it’s a simple matter to plug in your extension credentials and start making calls. Run the application and choose Settings -> Accounts and click the New button. Fill in the blanks using the IP address of your server, 201 for your account name, and whatever password you created for the extension. Click OK.

Once you are registered to extension 201, close the Account window. Then click on YATE’s Telephony Tab and place your first call. It’s that easy!

Monitoring Call Progress with Asterisk. That about covers the basics. We’ll leave you with a tip on how to monitor what’s happening with your PBX. There are several good tools within the FreePBX GUI. You’ll find them under the Reports tab. In addition, Asterisk has its own Command Line Interface (CLI) that is accessible from the Linux command prompt. Just execute the following command while logged in as root: asterisk -rvvvvvvvvvv.

What’s Next? We’ve barely scratched the surface of what you can do with PBX in a Flash. Log into your server as root and type help-pbx for a list of simple install scripts that can add almost any function you can imagine. And Incredible PBX 11 and Incredible Fax can be installed in under 2 minutes to provide you almost every Asterisk application on the planet. You can read the complete tutorial here. In addition, Travelin’ Man 3 can be installed as part of Incredible PBX for rock-solid Internet security. If you care about your wallet, add Travelin’ Man to your server!

New App of the Week. We’re pleased to introduce Trunk Failure Email Alerts for Asterisk supporting SIP, IAX2, and Google Motif trunks. Just insert your email address in this little script and run it every hour as a cron job. You’ll get an email alert whenever any of your VoIP trunks fail. Enjoy!

VoIP Experts on Twitter. GetVoip.com has just released their list of The Top 50 VoIP Experts to Follow on Twitter. It’s a great read… but we may be biased. :wink:

Join Google+ Today. For the latest VoIP and technology news, come follow us on Google+ and join CircleCount.com for a terrific overview of your Google+ friends and their hometowns.

Originally published: Tuesday, December 17, 2013




Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity. 


Some Recent Nerd Vittles Articles of Interest…

The Perfect Stocking Stuffer: Incredible PBX for the Raspberry Pi Gets a Facelift

It’s been a wild ride with the $35 Raspberry Pi®. In late October, sales of the Raspberry Pi topped two million in less than two years. And, if you didn’t already know, the Raspberry Pi makes a near perfect platform for your very own VoIP PBX. It’s less than a ONE HOUR project!

If you’re new to the party, imagine squeezing a 700 mHz ARM processor with 512MB of RAM, 2 USB ports, a 10/100 Ethernet port, an HDMI port, composite video, a separate audio jack, an SDHC card slot, and a micro USB port onto a motherboard the size of a credit card weighing 1.6 ounces. Adding WiFi is as simple as plugging in a USB adapter.

Absolute perfection. Other than the slow write speeds to the sd card (you might add a warning note about that part), I had it swapped over to local extension numbers and trunked to existing asterisk servers in minutes… [I]t doesn’t get any cooler than this! — Scott P.

Trust us when we say the performance of this tiny computer is nothing short of amazing. Can it do everything a $300 dual-core Atom PC can do? No. Can it do 90% of everything for someone whose requirements do not exceed a handful of simultaneous calls at a time but still wants a full-blown PBX for call routing, transcribed voicemails delivered by email, IVRs, music on hold, and text-to-speech and speech-to-text apps for a home, a SOHO office, a Little League team, or a dorm room? Absolutely. As Scott mentioned, configuration changes may take you a few seconds longer than would normally be the case with an Atom-based PC and a hard disk. But, hey, you can have this delivered to your front door in two days with Amazon Prime shipping for just a few bucks more than the original cost of the $35 computer, and you’ll have a fully functional PBX up and running before you can name all of Santa’s reindeer:

And today we’re pleased to introduce Incredible PBX 3.11.8 for the Raspberry Pi, a turnkey PBX featuring Asterisk® 11 and FreePBX® 2.11 for a near perfect telephony platform. Special thanks to the tens of thousands of pioneers that have given the first dozen iterations of this software a healthy workout over the past year. We couldn’t have done it without you!

What’s New in Incredible PBX 3.11.8? For those of you already running a previous version, here’s a quick thumbnail of the 3.11.8 feature set. As in the past, we’ve tried to mimic as much of the previous build functionality as possible while providing new firmware support for the very latest Raspberry Pi boards. So you still get simple utilities to configure 1GHz overclocking and automatic expansion of the 3.11 image to run on any size SDHC card. But the major addition is implementation of Asterisk’s latest long-term support release, Asterisk 11, which provides an incredibly stable VoIP platform. There also have been some major plumbing enhancements in FreePBX 2.11 to improve its stability and to enhance security. Of course, you still get Google Voice support until May, 15, 2014 with free calling in the U.S. and Canada as well as free faxing and SMS messaging plus most of the Incredible PBX feature set. We’ve also added optional voice transcription and email delivery of MP3 voicemails to smooth the migration to unified messaging. If you want the first 15 seconds of each voicemail transcribed, then issue the following commands after logging into your server as root. Additional documentation is available here.

cd /usr/sbin
mv sendmailmp3 sendmailmp3.notrans
mv /root/sendmailmp3 sendmailmp3

For those running previous Incredible PBX builds that want support for the newer Raspberry Pi boards, there’s a simple fix to upgrade your existing SD card so that it will boot properly with the newer boards. Here’s the link.

Incredible PBX 3.5 and beyond added automatic detection and support of 512MB Raspberry Pi devices without touching anything. Beginning with version 3.7, we added an awesome fax server to Incredible PBX for those with a 512MB board. The complete tutorial is available here. update-my-pi in the /root folder of your server helps to safeguard your system by bringing it up to date with the latest fixes and enhancements. After running it the first time, it gets run automatically whenever you log in as root. For the safety of your server, don’t disable it! It’s free for the first ten updates, and then it’s just $20 a year. We have to eat, too. If you are philosophically opposed to ever spending a dime to support the open source movement, then feel free to load the latest version of Incredible PBX at no cost whenever you like. It will always be free! Then you can restore your settings using the backup and restore feature built into FreePBX.

To enable overclocking at your own risk, run: raspi-config. Overclocking works for us. YMMV! The key is a good power supply. If you’re using an SD card larger than 4GB, version 3.3 and beyond now can resize your partitions on the fly. Just choose the option in raspi-config and reboot. Even though the kernel now monitors CPU temperature and manages overclocking, it’s always nice to see for yourself. To monitor the CPU temperature, just run the status program which provides a current snapshot anytime. Temperature data now is provided on the FreePBX Dashboard as well.

There’s more good news. Networking is much more stable; however, we’ve dropped support for the TP-Link WiFi adapters. If you still have one of these adapters, see this thread on the PIAF Forum for setup instructions. Otherwise you’ll need the recommended AirLink 101 N-150 if you want WiFi capability. In the 3.11 release, your server will automatically attempt to connect to any open WiFi network that it can find. We’ve also added two scripts in /root to let you restart either your wired or wireless network and designate it as the primary network: restart-eth0 and restart-wlan0. Time zone management was also a bit of mess with multiple file settings required to support both Linux and PHP. In the 3.11 release, you’ll be prompted to select your timezone when you first log in as root. The setup script will automatically apply your entry in all the right places. We’ve also replaced SendMail with Exim to simplify the process of using an SMTP mail gateway such as Gmail. The procedure for making the change is documented here.

As part of the 3.11 migration, we’ve also eliminated the pi user account. Everything you need to do to configure Incredible PBX requires root permission. So goodbye sudo. Only the root user account is included, and the default password is raspberry. Change the password when you first log in. New SSH and DUNDI keys now are automatically generated when you first boot your server. The FreePBX Backup and Restore Utility is included in this new build. AsteriDex Speed Dialing has been enhanced for our friends across the Atlantic. Enter 3-digit Dial Codes in AsteriDex, and you can call by dialing 000nnn. In the 3.11 upgrade, Telephone Reminders again work.

X Windows is included in this build. This won’t work with SSH. For a demo slideshow, plug in a real monitor and log in as root. In the /root folder, enter the command: startx. To end the slideshow, press ESCape. To disable the slideshow: mv .xinitrc xinitrc. To add photos, copy .jpg images into /root/slideshow. No mouse is required for the slideshow but, if you run X Windows natively, you’ll need a USB mouse. The SMS Blasting app in /root now supports phone numbers (which use SMS) and email addresses (which use SendMail).

Last but not least, a sophisticated Conference Bridge has been added to Incredible PBX 3.11. If you route one of your inbound DIDs to the predefined IVR, users can press 0 and enter 1234 for the conference PIN to join the conference. Local extensions simply dial C-O-N-F. We’ve already tested a 9-person conference call with excellent results. But don’t take our word for it. Try it for yourself. Just call our demo Raspberry Pi AutoAttendant and take the Conference Bridge and a handful of other Incredible PBX™ apps for a test drive:

And here’s what the conference call looked like in the FreePBX Dashboard:

So you don’t have to jump around between articles, we’ve put together this Quick Start Guide that tells you everything you need to know to get up and running in about an hour. Most of that time will be consumed copying the Incredible Pi image to an SD card. So there’s plenty of time for lunch during the hour. Once your system is running and you’ve completed the setup steps below, then jump over to the application tutorial which explains how to use every one of the 35+ Incredible PBX Apps for the $35 Raspberry Pi.

What to Buy. Here’s everything you need to get started.1 The case is optional. Yes, you can run the Raspberry Pi sitting on your desk with no case. It’s only 5 volts. WiFi is also optional. There’s a 10/100 port on the Raspberry Pi that gives you all the networking you need. Here are the links to buy the pieces. You also need a CAT5 cable and either a spare PC or Mac with Putty or SSH and a pair of earbuds or an HDMI cable to connect to a TV or monitor and a USB keyboard.

Setting Up Google Voice. If you want free calling in the U.S. and Canada, then you’ll need a Google Voice account, and you’ll need one dedicated to Incredible Pi, or it won’t work. Log out after setting up the new Google Voice account! Also note that Google Voice will cease to function on May 15, 2014. You can read all about it here.

  • Register for Google Voice account (no funky characters in your password!)
  • Enable Google Chat as Phone Destination
  • Configure Google Voice Calls Settings:
    • Call ScreeningOFF
    • Call PresentationOFF
    • Caller ID (In)Display Caller’s Number
    • Caller ID (Out)Don’t Change Anything
    • Do Not DisturbOFF
    • Call Options (Enable Recording)OFF
    • Global Spam FilteringON

  • Place test call in and out using GMail Call Phone

Baking Your Incredible Pi. The disk drive for the Raspberry Pi is an SD card. So what you need to do is download Incredible Pi and copy the image onto an SDHC card. Mac and Linux installers are included. For Windows, just use Win32 Disk Imager. Here are the steps:

  1. Download the Incredible Pi package
  2. Decompress the tarball: tar zxvf incrediblepi-version.tar.gz
  3. Copy .img file to SDHC using image utility or script
  4. Insert SDHC card into Raspberry Pi
  5. Boot the Raspberry Pi from Incredible Pi SDHC card

Your First Bite of Incredible Pi. If you’re not using a monitor and keyboard, you can use SSH to gain root access to Incredible Pi. And you can use any web browser on your private network to access your server. There are a couple of hurdles. First, you need the network address of your new server. And, second you need an SSH client. With Incredible PBX 3.3 and beyond, you needn’t worry about the IP address. You now can access your server via SSH by logging in like this: root@incrediblepbx.local. And browser access to your server is available at the following address: http://incrediblepbx.local. You still can plug in some earbuds when the bootup process begins and listen for the Incredible Pi to tell you its IP address when the boot procedure completes (about 90 seconds). Then you can use that IP address instead of incrediblepbx.local. The latest releases of Incredible PBX also include a Java-based SSH client in the FreePBX web GUI: Admin -> Java SSH. Because of the almost weekly security problems with Java, we strongly recommend using a standalone SSH client such as Putty.

Here’s everything you need to know about security for Incredible Pi:

1. ALWAYS RUN INCREDIBLE PI BEHIND A SECURE HARDWARE-BASED FIREWALL/ROUTER
2. NEVER EXPOSE ANY INCREDIBLE PI PORTS DIRECTLY TO THE INTERNET
3. NEVER MAP INBOUND INTERNET PORTS FROM YOUR FIREWALL TO INCREDIBLE PI

Initial Setup. There also are a few setup steps to complete once your Incredible Pi finishes the bootup process. When you first login (username: root  password: raspberry), you’ll be prompted to change your root password and to set your default time zone. If you’re using either a wired network or an open WiFi network, then everything just works. If you’re using secured WiFi, then you’ll need to plug in your credentials in /etc/wpa.conf and reboot. The wired network always takes precedence so unplug the cable if you want WiFi to be your primary network. /root/update-my-pi runs automatically when you log in as root. It will bring your server up to current specs. Finally, now’s the time to repartition your SD card if you’re using a card larger than 4GB (highly recommended!). While you’re at it, bump up the performance of your Raspberry Pi by 50% by setting the overclocking to turbo mode. It works great for us. YMMV! The key is a rock-solid power adapter such as the one we’ve recommended. Just run raspi-config and follow your nose.

Accessing Incredible Pi By GUI. You don’t have to be a Linux guru to use Incredible Pi. In fact, we’re just about finished with the Linux command prompt, but stay logged in until we finish the steps below. Most of your configuration of the PBX will be performed using the FreePBX® Web GUI.

If you’re new to Asterisk® and FreePBX, here’s the one paragraph primer on what needs to happen before you can make free calls with Google Voice. You’ll obviously need a free Google Voice account. This gets you a phone number for people to call you and a vehicle to place calls to plain old telephones throughout the U.S. and Canada at no cost. You’ll also need a softphone or SIP phone to actually place and receive calls. YATE makes a free softphone for PCs, Macs, and Linux machines so download your favorite and install it on your desktop. Phones connect to extensions in FreePBX to work with Incredible Pi. Extensions talk to trunks (like Google Voice) to make and receive calls. FreePBX uses outbound routes to direct outgoing calls from extensions to trunks, and FreePBX uses inbound routes to route incoming calls from trunks to extensions to make your phones ring. In a nutshell, that’s how a PBX works. There are lots of bells and whistles that you can explore down the road.

Let’s get started. Using a browser, enter the IP address of your server or just use incrediblepbx.local as the address. Choose FreePBX Administration. When prompted for a username and password, use admin for both. Here are the six steps you need to complete before making your first free call:

  1. Change FreePBX admin Password and Default Email
  2. Add Google Voice Account credentials
  3. Set Destination for Incoming Calls
  4. Change Extension 701 Passwords
  5. Eliminate Audio and DTMF Problems
  6. Install and Register a Softphone to Extension 701

1. Changing FreePBX admin Password and Default Email. From the main FreePBX GUI, click Admin => Administrators. Click on admin user in the far-right column. Enter a new Password and click Submit Changes button. Then click the Apply Config button. Next, set your default email address in the right margin of Admin -> Module Admin and save your entry.

2. Activating a Google Voice Trunk. To create a Trunk in FreePBX to handle calls to and from Google Voice, you’ll need three pieces of information from the Google Voice account you set up above: the 10-digit Google Voice phone number, your Google Voice account name, and your Google Voice password. Choose Connectivity -> Google Voice (Motif) from the FreePBX GUI. The following form will appear:

Fill in the blanks with your information and check only the top 2 boxes. If your Google Voice account name ends in @gmail.com, leave that out. Otherwise, include the full email address. Then click Submit Changes and Apply Config.

There’s one more step or your Google Voice account won’t work reliably with Incredible Pi! From the Linux command prompt while logged into your server as root, restart Asterisk: amportal restart

3. Setting a Destination for Incoming Calls. Now that you’ve created your Google Voice Trunk, we need to tell FreePBX how to process inbound calls when someone dials your Google Voice number. There are any number of choices. You could simply ring an extension. Or you could ring multiple extensions by first creating a Ring Group which is just a list of extension numbers. Or you could direct incoming calls to an Interactive Voice Response (IVR) system (we’ve actually set one up for you to play with).

By default, Incredible Pi is configured to route all incoming calls to a demo IVR that shows off some of the applications that come with Incredible Pi. You can change whenever you like by choosing Connectivity -> Inbound Routes -> Default. In the Set Destination section of the form, change the target to Extensions and then select 701 from the list. Then click Submit and Apply Config.

4. Changing Extension Passwords. From the main FreePBX GUI, choose Applications -> Extensions. Then click on 701 in the Extension List on the right side of your display. You’ll see a form that looks like this:

For now, we only need to make a few changes. First, you need a very secure password for both the extension itself and your voicemail account for this extension. The extension secret needs to be a combination of letters and numbers. The Voicemail Password needs to be all numbers, preferably six or more. Replace the existing 1234secret and 1234 with your own (very secure) entries. You also need to lock down this extension so that it is only accessible from devices on your private LAN. You do that with the deny and permit entries which currently are filled with zeroes. Leave the deny entry the way it is which tells Incredible Pi to block everybody except those allowed in the permit entry below. For the permit, we need the first three octets of your private LAN address, e.g. if your LAN is 192.168.0.something then the permit entry will be 192.168.0.0/255.255.255.0.

Finally, you need to plug in your actual email address in the Voicemail section so that voicemails can be delivered to you when someone leaves a message. You can also include a pager email address if you want a text message alert with incoming voicemails. If you want the voicemails to automatically be deleted from the server after they are emailed to you (a good idea considering the disk storage limitations of an SDHC card), change the Delete Voicemail option from No to Yes. That’s it. Now save your settings by clicking the Submit button. Then reload the dialplan by clicking on the red prompt when it appears.

In case you’re curious, unless you’ve chosen to automatically delete voicemails after emailing them, you can retrieve your voicemails by dialing *98701 from any extension on your phone system. You’ll be prompted to enter the voicemail password you set up. In addition to managing your voicemails, you’ll also be given the opportunity to either return the call to the number of the person that called or to transfer the voicemail to another extension’s voicemail box. And you can always leave a voicemail for someone by dialing their extension number preceded by an asterisk, e.g. *701 would let someone leave you a voicemail without actually calling you.

5. Eliminating Audio and DTMF Problems. You can avoid one-way audio on calls and touchtones that don’t work with these simple settings in FreePBX: Settings -> Asterisk SIP Settings. Just plug in your public IP address and your private IP subnet. Then set ULAW as the only Audio Codec.

6. Setting Up a Desktop Softphone. Incredible Pi supports all kinds of telephones, but we’ll start with the easy (free) one today. You can move on to “real phones” once you’re smitten with the VoIP bug. For today, you’ll need to download a softphone to your desktop PC or Mac.

As we mentioned, the easiest way to get started with Incredible Pi is to set up a YATE softphone on your Desktop computer. Versions are available at no cost for Macs, PCs, and Linux machines. Just download the appropriate one and install it from this link. Once installed, it’s a simple matter to plug in your extension 701 credentials and start making calls. Run the application and choose Settings -> Accounts and click the New button. Fill in the blanks using the IP address of Incredible Pi, 701 for your account name, and whatever password you created for the extension. Click OK.

Once you are registered to extension 701, close the Account window. Then click on YATE’s Telephony Tab and place your first call. It’s that easy!

Monitoring Call Progress with Asterisk. That about covers the basics. We’ll leave you with a tip on how to monitor what’s happening with your PBX. There are several good tools within the FreePBX GUI. You’ll find them under the Reports tab. In addition, Asterisk has its own Command Line Interface (CLI) that is accessible from the Linux command prompt. Just execute the following command while logged in as root: asterisk -rvvvvvvvvvv.

Activating SAMBA for Windows Networking. SAMBA is included for transparent access using the Windows Networking Protocol from PCs, Macs, and other Linux machines. As delivered, SAMBA is deactivated. For obvious reasons, we recommend you never activate root login access to SAMBA without a very secure password. If you wish to enable SAMBA on your server, here are the steps while logged in as root:

  • 1. Set SAMBA password for user root: smbpasswd -a root
  • 2. Change Windows workgroup from WORKGROUP, if needed: nano -w /etc/samba/smb.conf
  • 3. Manually start SAMBA from command prompt: service samba start
  • 4. If desired, set SAMBA to start on boot: rcconf and activate SAMBA option

Activating the PPTP VPN Client. If you’ve followed the Nerd Vittles tutorial and previously set up a PPTP VPN Server for your devices, then it’s pretty simple to add Incredible Pi to the mix by activating its PPTP VPN client. You’ll need the FQDN or public IP address of your VPN server as well as a username and password for VPN access to your VPN server. Once you have those in hand, log into Incredible Pi as root.

Lest we forget to mention, you cannot log into your PPTP server from an IP address on the same private LAN so you’d only use the PPTP VPN when your Incredible Pi is at a remote location.

Edit the connection template: nano -w /etc/ppp/peers/my-pptp-server. Insert the following text and replace myfqdn.org with the FQDN of your PPTP server, replace myname with your PPTP username, and replace mypassword with your PPTP password. Then save the file: Ctrl-X, Y, then Enter.

To test it, issue the following command: /etc/init.d/pptp start. When you run ifconfig, you should now see a ppp0 entry:

ppp0 Link encap:Point-to-Point Protocol
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Remember, it won’t show an IP address if the Raspberry Pi and your PPTP VPN Server are on the same subnet (like ours). Once you install your Raspberry Pi in a remote location, you now can access it at the first IP address in your reserved PPTP IP address pool.

To permanently activate the PPTP VPN client on your Incredible Pi server, run rcconf. Scroll to the bottom of the list and highlight pptp. Press the space bar to select it for automatic startup when you boot your server. Then tab to OK and press Enter.

Activating Incredible Fax. With a 512MB Raspberry Pi, here are the 5 Simple Steps to activate Incredible Fax. The original tutorial is available here.

  1. Download and Install Incredible PBX 3.11
  2. Run the /root/fax-enable Script to Automatically Configure HylaFax
  3. Using FreePBX, Add Additional, Dedicated DID and Inbound Route to Handle Incoming Faxes
  4. Install Any Desktop HylaFax Client to Send Faxes via Print-to-Fax using any PDF
  5. Reboot Your Server and Enjoy

Incredible Trunks. When you’re ready to try some other SIP providers, here is a quick Cheat Sheet courtesy of Kristian Hare, who translated our original setups into a spreadsheet. Just click on the image below to open it in a new window. Then click on the redisplayed image to enlarge it.

Configuring CallerID Superfecta. In order to match names with phone numbers, Incredible PBX includes a FreePBX application named CallerID Superfecta. Out of the box, Incredible PBX 3.11 will work fine if you remember to activate CallerID Superfecta whenever you create a new Inbound Route. The CNAM entries also will be displayed in your CDR reports. For those not in the United States, you may prefer to use a lookup source for your numbers other than the ones preconfigured in CallerID Superfecta. You will find all of the available modules on the POSSA GitHub site. Just download the ones desired into /var/www/html/admin/superfecta/sources and then activate the desired sources in Admin -> CID Superfecta -> Default. You can test your results and the performance using the Debug facility that’s built into the module.

Shutting Down Your Server. Last but not least, never just pull the plug when you want to shut down your server, or you may end up with corrupted MySQL databases. Then nothing will run. Instead, log into your server as root, and issue the following command: shutdown -h now. Enjoy!

Where To Go Next. Once you’ve done a little exploring, take a few minutes to read the complete tutorial on all 35 Incredible PBX applications for Raspberry Pi. A few require a bit of configuration before you start using them. And then you’ll want to explore Interconnecting Asterisk Servers with Incredible PBX and the Raspberry Pi. Enjoy!


Don’t forget to List Yourself in Directory Assistance so everyone can find you by dialing 411. And add your new number to the Do Not Call Registry to block telemarketing calls. Or just call 888-382-1222 from your new number.

Originally published: Monday, December 2, 2013


Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a terrible place to handle support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forums. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of ordinary users just like you. You won’t have to wait long for an answer to your question.



Need help with Asterisk? Visit the PBX in a Flash Forum.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


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

Two Thumbs Up: A New Flash Drive Installer for PBX in a Flash 2.0.6.4.5

We can’t promise you free sushi, but… one of the key goals of the PBX in a Flash™ project always has been to provide an install option that works reliably with USB thumb drives. And today’s new PIAF thumb drive installer with CentOS 6.4 provides support for every current version of Asterisk® and FreePBX®. In addition, you can build and deploy standalone servers for FreeSwitch™, SugarCRM™, NeoRouter™ VPN, YATE, and OpenFire™ XMPP using our award-winning 32-bit and 64-bit PIAF™ ISOs.

As luck would have it, CentOS followed the RedHat lead and pulled a 180 on the flash drive creation procedure with CentOS 6.4. You’ll recall in the CentOS 6.2 days, booting from a USB flash drive transformed that device into Drive A (sda) during the boot procedure. Well, that was then. Now it’s no longer ass-backwards so the procedure to create flash drive installers is officially different with CentOS 6.4.

As is true with the new PIAF 20645 stand-alone installers, the new flash drive installer performs a two-step installation procedure. During Phase I, CentOS 6.4 is installed after you pick your time zone and a root password. Once CentOS is installed, your server will reboot, display the server’s IP address, and prompt you to login with your new root password. You can do so from the console or via SSH or Putty. Once logged in, you have the option of loading additional drivers or beginning the Phase II installation procedure where you choose your desired version of Asterisk and FreePBX or one of the other supported applications.

The PIAF2 installer then syncs the time on your server to NTP, installs the latest yum updates for CentOS 6.4, installs the versions of Asterisk and FreePBX you selected (HINT: Incredible PBX 11 requires PIAF-Green and FreePBX 2.11) and some other utilities including WebMin, Festival and Flite text-to-speech support for Asterisk, and, of course, the Google Voice GUI which lets you configure PIAF2 to make free calls in the U.S. and Canada until May 2014. Finally the PIAF2 installer patches your system to activate the IPtables firewall for both IPv4 and IPv6 as well as adding Fail2Ban monitoring for Asterisk, SSH, and your Apache web server.

Our 20645 tutorial will walk you through the complete installation process once we have your USB thumb drive set up.

PBX on a Flash

Here’s the 5-minute drill to get a USB thumb drive loaded with the latest and greatest PBX in a Flash ISO. Once you get that far, follow the PIAF 20645 installation tutorial to get your system up and running. In less than an hour, you’ll have a fully functioning, rock-solid reliable PBX that can meet all of your telephony requirements. And, remember, it’s free and always will be™.

Prerequisites. To get everything installed on your USB Flash Drive, you’ll obviously need at least a 1GB Flash Drive. HINT: 2GB flash drives may be cheaper! Next, you’ll need a Windows XP/Vista/7/8 computer on which to set up the thumb drive. On the Windows PC, you’ll need to download and install the latest, greatest version of ISO2USB from SourceForge. We recommend you also download and install the HP Formatting Utility for flash drives. Finally, you’ll need to download either the 32-bit or 64-bit PIAF 2.0.6.4.5 ISO from SourceForge.

Creating USB Flash Drive. Step #1 is to partition and format your USB flash drive as a FAT32 device. Some flash drives are temperamental about the formatting step. We can’t recommend strongly enough using the HP Formatting Utility to make certain you get a reliable, properly formatted thumb drive! Also be careful that you are, in fact, formatting your thumb drive and not your Windows hard disk!

Step #2, once the device is properly formatted, run ISO2USB. You’ll get a screen that looks like what is shown above. Click on the … button to the right of DiskImage ISO and choose the PIAF2 ISO that you downloaded to your Desktop. Make certain that the destination device shown on the bottom line of the display is your USB flash drive. You do not want to accidentally trash your primary drive!

Here’s the tricky part, and it’s not that tricky any more. You need to know the drive names of the devices on the target machine where you ultimately will be using this thumb drive. Try these commands on your target machine using a Linux LIVE CD if you’re unsure: dmesg | grep logical AND dmesg | grep sectors. For most modern machines with IDE drives, the names will be sda, sdb, etc. For older machines, they may be hda, hdb. You’ll know if it doesn’t work. :-)

In the ISO2USB setup, we recommend you start with the default settings for the Hard Disk Name (sda) and USB Device Name (sdb). For Foxconn hardware and AMD BIOS machines, you may need to use sdc instead of sdb for the USB Device Name. A few other systems use sdd. In all cases, use sda for the Hard Disk Name. As we noted, you’ll know soon enough if you made the wrong choice. Just recreate the thumb drive using the next letter in the alphabet for the USB Device Name. :wink:

Once you’ve double-checked your USB destination drive (HINT: the drive size is quite different), choose OK to begin. When the ISO install completes, don’t forget to Eject your USB flash drive before removing it from the Windows PC!

Using the USB Flash Installer. When using the new flash installer, remember that you need to boot your new machine from the thumb drive. On most newer Atom-based computers, you accomplish this by inserting the USB device, turning the machine on, and then pressing F12 during the boot sequence to choose the boot device. You’ll just have to watch the screen of your new computer to see if some other key is used to pull up the boot selection screen. If all else fails, you can adjust the boot sequence in the BIOS settings to boot first from the USB device. If you change your BIOS boot sequence, just remember to remove the USB device when the initial install of CentOS completes and the PIAF reboot sequence begins. If instead you again see the initial PIAF install screen warning you that your disk is about to be erased, then remove the thumb drive and reboot the machine once again. You’re now ready to continue on with the installation procedure. Just follow this link to the PIAF 20645 tutorial.

Where To Go From Here. If you installed PIAF-Green with Asterisk 11 and FreePBX 2.11 (our recommended platform for production use), then your next step probably should be the Nerd Vittles’ Incredible PBX 11 and Incredible Fax 11 tutorial. It’s a 5-minute addition. And, of course, all 50 Asterisk applications in Incredible PBX are also free.

PBX on a Flash

Getting Your Own PIAF Thumb Drive. Some have asked how to obtain your very own PIAF thumb drive. Well, it’s easy. Just ask when you make a contribution of $50 or more to the Nerd Vittles and PBX in a Flash projects by clicking the PayPal Donate button at the top of this page, and we’ll get one off to you pronto. And, thanks in advance for your support of freeware and open source projects! Happy Thanksgiving!

Originally published: Friday, November 22, 2013


Just Released: AstriCon 2013 Videos. Digium has just released all of the videos from AstriCon 2013 on the new YouTube Asterisk Channel. It’s the best, free VoIP training you’ll find anywhere.




Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

Ringbinder theme by Themocracy