Home » Search results for 'sip uri' (Page 41)

Search Results for: sip uri

The Most Versatile VoIP Provider: FREE PORTING

Introducing NeoRouter 1.9 VPN: Still a Shining Star

In a previous article, we introduced PPTP VPNs for interconnecting remote users and branch offices to a central network hub. Known as a hub-and-spoke VPN, the advantage of this design is it lets remote users participate as peers in an existing home office LAN. It’s simple to set up and easy to maintain. The drawback is vulnerability to man-in-the-middle attacks.

Today, we want to revisit the more traditional client-server VPN which relies upon a central server but uses a star topology to connect remote nodes. The major difference is that only registered devices participate in the virtual private network so there is no direct access to other machines on the LANs of the registered devices. If you have servers scattered all over the countryside, however, this is an excellent way to manage and interconnect them. All data and communications between the nodes can then be routed through the encrypted VPN tunnel for rock-solid security and NSA avoidance. Well, maybe and maybe not…

https://twitter.com/chrisVEGGIE16/status/364463018647629824

With NeoRouter’s latest 1.9 (free) software, you can set up your VPN server using a PC, a Mac, a Linux or FreeBSD machine, OpenWrt Backfire, Tomato, or even a Raspberry Pi. VPN clients are available for PCs, Macs, Linux and FreeBSD machines, Raspberry Pi, OpenWrt, Tomato as well as Android and iOS phones and tablets. There’s even an HTML5 web application in addition to a Chrome browser plug-in. With the OpenWrt and Tomato devices or if you’re an extreme techie, you can broaden your NeoRouter star configuration to include bridging of remote LANs. See pp. 47-50 of the NeoRouter User’s Manual.

You can interconnect up to 256 devices at no cost. For $999, you can enlarge your VPN to support 1,000 devices. Screen sharing, remote desktop connections, HTTP, and SSH access all work transparently using private IP addresses of the VPN nodes which are automatically assigned in the 10.0.0.0 private network.

Several years ago, we kissed Hamachi goodbye. Suffice it to say, LogMeIn put the squeeze on the free version to the point that it became next to worthless. In fact, you’d be hard-pressed to find any mention of a free version of Hamachi (other than a trial edition) on LogMeIn’s current web site. Here’s a feature comparison which says it better than we could:

Today we are introducing the second generation of the NeoRouter VPN solution. We have a simple installation script that works with any current PBX in a Flash™ server. It’s suitable for use on a dedicated server or running as a virtual machine. Whether to run NeoRouter 1.9 server on a dedicated machine is your call. Keep in mind that a dedicated platform isolates your VPN server from your PBX which generally is a better network strategy. Regardless of the installation scenario you choose, remember that neither option requires exposure of your entire server to the Internet. Only a single TCP port needs to be opened in your hardware-based firewall and IPtables Linux firewall.

NeoRouter Setup with PIAF™. We’re assuming you already have a PBX in a Flash server set up behind a hardware-based firewall. If not, start there. Next, we’ll need to download and run the installer for your new NeoRouter Server. It also installs the client. Just log into your server as root and issue the following commands:

wget http://incrediblepbx.com/install-neorouter
chmod +x install-neorouter
./install-neorouter

The installer will walk you through these five installation steps, but we’ll repeat them here so you have a ready reference down the road.

First, on your hardware-based firewall, map TCP port 32976 to the private IP address of your PIAF server. This tells the router to send all NeoRouter VPN traffic to your PIAF server when it hits your firewall. If you forget this step, your NeoRouter VPN will never work!

Second, we’re going to use your server’s public IP address as the destination for incoming traffic to your NeoRouter VPN. If this is a dynamic IP address, you’ll need an FQDN that’s kept current by a service such as DynDNS.com.

Third, each administrator and user is going to need a username to access your NeoRouter VPN. You can use the same credentials to log in from multiple client machines, something you may or may not want to do. We’re going to set up credentials for one administrator as part of the install. You can add extra ones by adding entries with one of the following commands using the keyword admin or user. Don’t use any special characters in the username and password!

nrserver -adduser username password admin
nrserver -adduser username password user

Fourth, make up a very secure password to access your NeoRouter VPN. No special characters.

You’re done. Review your entries very carefully. If all is well, press Enter. If you blink, you may miss the completion of the install process. It’s that quick.

Fifth, after your NeoRouter 1.9 VPN is installed, you can optionally go to the NeoRouter web site and register your new VPN by clicking Create Standalone Domain. Make up a name you can easily remember with no periods or spaces. You’ll be prompted for the IP address of your server in the second screen. FQDNs are NOT permitted.

When a VPN client attempts to login to your server, the server address is always checked against this NeoRouter database first before any attempt is made to resolve an IP address or FQDN using DNS. If no matching entry is found, it will register directly to your server using a DNS lookup of the FQDN. Whether to register your VPN is totally up to you. Logins obviously occur quicker using this registered VPN name, but logins won’t happen at all if your server’s dynamic IP address changes and you’ve hard-coded a different IP address into your registration at neorouter.com.

Setting Up a NeoRouter Client. As mentioned previously, there are NeoRouter clients available for almost every platform imaginable, including iPhones, iPads, and our beloved Raspberry Pi. So Step #1 is to download whatever clients are appropriate to meet your requirements. Here’s the NeoRouter Download Link. Make sure you choose a client for the Free version of NeoRouter. And make sure it is a version 1.9 client! Obviously, the computing platform needs to match your client device. The clients can be installed in the traditional way with Windows machines, Macs, etc. Older NeoRouter 1.7 clients still work with the new 1.9 server; however, the Android client is much improved and now provides the same functionality as the Mac and Windows clients. In short, you can use your NeoRouter VPN tunnel to connect to another resource using SSH, VoIP clients, and web browsers.

CentOS NeoRouter Client. As part of the installation above, we have automatically installed the NeoRouter client for your particular flavor of CentOS 6, 32-bit or 64-bit. In order to access resources on your NeoRouter server from other clients, you will need to activate the client on your server as well. This gets the server a private IP address in the 10.0.0.0 network.

To activate the client, type: nrclientcmd. You’ll be prompted for your Domain, Username, and Password. You can use the registered domain name from neorouter.com if you completed step #5. Or you can use the private IP address of your server. If your router supports hairpin NAT, you can use the public IP address or server’s FQDN, if you have one. After you complete the entries, you’ll get a display that looks something like this:

To exit from NeoRouter Explorer, type: quit. The NeoRouter client will continue to run so you can use the displayed private IP addresses to connect to any other online devices in your NeoRouter VPN. All traffic from connections to devices in the 10.0.0.0 network will flow through NeoRouter’s encrypted VPN tunnel. This includes inter-office SIP and IAX communications between Asterisk® endpoints.

Admin Tools for NeoRouter. Here are a few helpful commands for monitoring and managing your NeoRouter VPN.

Browser access to NeoRouter Configuration Explorer (requires user with Admin privileges)

Browser access to NeoRouter Network Explorer (user with Admin or User privileges)

Manage your account on line at this link

To access your NeoRouter Linux client: nrclientcmd

To restart NeoRouter Linux client: /etc/rc.d/init.d/nrservice.sh restart

To restart NeoRouter Linux server: /etc/rc.d/init.d/nrserver.sh restart

To set domain: nrserver -setdomain YOUR-VPN-NAME domainpassword

For a list of client devices: nrserver -showcomputers

For a list of existing user accounts: nrserver -showusers

For the settings of your NeoRouter VPN: nrserver -showsettings

To add a user account: nrserver -adduser username password user

To add admin account: nrserver -adduser username password admin

Test VPN access: http://www.neorouter.com/checkport.php

For a complete list of commands: nrserver –help

To change client name from default pbx.local: rename-server OR…

  • Edit /etc/hosts
  • Edit /etc/sysconfig/network
  • Edit /etc/sysconfig/network-scripts/ifcfg-eth0
  • Edit /etc/asterisk/vm_general.inc
  • reboot

For the latest NeoRouter happenings, follow the NeoRouter blog on WordPress.com.

Upgrading NeoRouter 1.7 Server to 1.9. If you followed our previous tutorial to install NeoRouter 1.7 Server, then upgrading to version 1.9 is easy. Log into your NeoRouter 1.7 server as root and download either the 32-bit or 64-bit 1.9 server software for your operating system. Then issue the following commands:


/etc/rc.d/init.d/nrserver.sh stop
rpm -Uvh nrserver-1.9*
/etc/rc.d/init.d/nrserver.sh start
chkconfig nrserver.sh on

GPL2 License. The install-neorouter application is open source software licensed under GPL2. The NeoRouter Server and Client software is freeware but not open source. This installer has been specifically tailored for use on PBX in a Flash servers, but it can be adjusted to work with virtually any Linux-based Asterisk system. If you make additions or changes, we hope you’ll share them on the PIAF Forum for the benefit of the entire VoIP community. Enjoy!


Deals of the Week. There are a few amazing deals still on the street, but you’d better hurry. First, for new customers, Sangoma is offering a board of your choice from a very impressive list at 75% off. For details, see this thread on the PIAF Forum. Second, a new company called Copy.com is offering 20GB of free cloud storage with no restrictions on file size uploads (which are all too common with other free offers). Copy.com has free sync apps for Windows, Macs, and Linux systems. To take advantage of the offer, just click on our referral link here. We get 5GB of extra storage, too, which will help avoid another PIAF Forum disaster. Finally, O’Reilly has over 1,000 Packt Ebooks on sale for 50% off until August 15. Better hurry!

Originally published: Tuesday, August 6, 2013



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


 

Don’t miss the first-ever FreePBX World on August 27-28 at the Mandalay Bay in Las Vegas. For complete details, see this post on the FreePBX blog.


 


We are pleased to once again be able to offer Nerd Vittles’ readers a 20% discount on registration to attend this year’s 10th Anniversary AstriCon in Atlanta. Here’s the Nerd Vittles Discount Code: AC13NERD.


 

Special Thanks to Our Generous Sponsors


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

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

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

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



Some Recent Nerd Vittles Articles of Interest…

Introducing the Grandstream UCM6100 Asterisk PBX: So Close But So Far Away

UPDATE: Here’s a newer Asterisk appliance for under $30.

Grandstream has done with Asterisk what Samsung and others did with Android. You basically take a freely available, open source toolkit and transform it into a terrific piece of turnkey hardware with tremendous savings in development costs. While it’s great for consumers, to us it highlights what is wrong with the GPL2 license which lets companies do this in the first place. These for-profit companies give almost nothing back to the open source community. Remember, it’s not their toolkit which took talented (and uncompensated) developers hundreds of man-years to construct. In Samsung’s case, they built closed source smartphones and tablets. With the Grandstream UCM6100 series, you get closed source PBXs. What’s wrong with this picture? Lots! You’re taking someone else’s work product, embellishing it to make a profit, and returning nothing to the open source community that made your open source product possible in the first place. Don’t get us wrong! We love Samsung’s smartphones and tablets. We’ve owned at least a half dozen of them. And Grandstream’s UCM6100 is an incredibly useful appliance for home offices as well as small and large organizations. We can think of a thousand use cases for the UCM6100 in the corporate and government workplace. If done right, it could easily have replaced the $200,000 PBX that supported 100+ employees in one of my former organizations. We also should note that Grandstream isn’t the first company to attempt this feat with Asterisk. Read Tom Keating’s excellent article for the history. And don’t forget the AA50 for a few cents more. 🙂

What is disappointing is that all of these products would be so much better and so much safer if the companies would open source their code and encourage community development to finish the job they started.1 No individual and few companies could match the hardware development platform that Samsung and Grandstream have managed to put together. In Grandstream’s case, you can buy the UCM6102 at retail for $264! It includes two FXS ports for devices such as fax machines and two FXO ports for interconnecting your Ma Bell PSTN trunks to a one-pound SIP powerhouse. That $264 buys you an incredibly attractive piece of hardware with an LCD that tells you everything about your PBX at the click of a button. And there are small LEDs to display the status of the LAN, WAN, USB, SD card, Phone, Fax, and both Telco lines. The device can sit under your phone on your desk in a SOHO office, or it can be wall-mounted in the closet of a bank’s branch office. Models are also available with 4 FXO ports (pictured above) as well as 8 and 16 FXO ports. One of these could meet the needs of almost any organization, regardless of size. Amazing hardware technology, really!

The web-based software user interface (UI) is no less impressive. FreePBX® has been our development partner on open source Asterisk® projects for the better part of a decade. To say they’ve made Asterisk what it is today is an understatement. Asterisk is a toolkit. FreePBX makes it a useful PBX for millions of users around the globe. Having said all of that, competition makes the world go ’round. And Grandstream has built an impressive UI for the UCM6100 devices. What is more amazing is to compare the performance of the Grandstream device to our own Incredible PBX for the Raspberry Pi which runs with Asterisk and FreePBX on a virtually identical processor with the same memory constraints as the UCM6100 devices. Night and day is the only way to sum it up. The Grandstream PBX literally runs circles around the Raspberry Pi in hardware and UI performance. In fact, you would never know the Grandstream PBX wasn’t running on a quad-core processor with several gigs of RAM if you were judging by performance. And there’s even a little fan that comes on about once an hour as if to remind you that there’s a real computer under the covers.

After receiving our UCM6102 late last week, we put it through its paces. We set up extensions and trunks and ring groups and outbound routes and inbound routes. We tested voicemail. We configured an IVR. We uploaded custom voice prompts. We tried out the Parking Lot and Call Forwarding and Conferencing. It all worked swimmingly, and configuration took only minutes with the web-based UI which was quite intuitive given its similarity to older releases of FreePBX such as 2.8 and 2.9.

But, in the words of Geoffrey Chaucer, "All good things must come to an end." Our next mission was to interconnect the UCM PBX with one of our existing PBX in a Flash servers. After all, the real utility of a turnkey PBX appliance like this would be to support a branch office with no technical staff in residence. This would allow a bank or a hospital or a real estate company to interconnect sites with extensions at each site that could transparently connect to each other. For example, dialing 5000-5099 would ring phones in the main headquarters while dialing 5300-5399 would ring phones in branch office #3. For this to work in the Asterisk environment, we need password-protected trunks on each Asterisk server that interconnect the PBXs to each other to form a meshed network. It’s not difficult, and we’ve explained how to do it in previous Nerd Vittles articles using PBX in a Flash as well as Incredible PBX for the Raspberry Pi.

Trunk to Trunk Server Connections. As the screenshot above shows, connecting a trunk from the Grandstream PBX to our Asterisk server was a breeze using both SIP and IAX trunks. But attempts to connect a trunk from the Asterisk server to the Grandstream PBX using both SIP and IAX failed with password errors. When we alerted the Grandstream development team, suffice it to say they were confused. Did we mean we wanted to connect a remote Asterisk server to an extension on the UCM6100? That was the first hint that all was not well in Asterisk Land. It became readily apparent that the developers were quite adept at mimicking the functionality of FreePBX to create a powerful PBX. But they lacked an in depth understanding of some of the Asterisk fundamentals. While the Grandstream development team was incredibly responsive, it reinforces why open sourcing their code would provide huge benefits not only to others but also to their own project. It gets worse, unfortunately, much worse.

To make a long story short, it doesn’t appear that safely interconnecting trunks between Asterisk servers and the Grandstream devices is available at least at this juncture. What is possible and what the Grandstream developers documented is the ability to create a trunk on a remote Asterisk server that registers to an extension on the Grandstream PBX. But this still did not enable users on remote Asterisk servers to call extensions on the Grandstream PBX unless the Allow Guest Calls option was enabled in the device’s SIP settings. That didn’t make a lot of sense to us if, in fact, the remote Asterisk server was actually registered to the Grandstream PBX. So we changed the password on the extension to make sure the registration would fail. And, yes, you still could make calls to the Grandstream PBX extensions so long as Allow Guest Calls was enabled. Did we mention? It gets worse, much worse.

IVR Vulnerability. Remember that IVR setup we mentioned? By default, it sits on extension 7000 on the Grandstream PBX. We called it from an extension on the remote Asterisk server, and it worked as expected even without a valid SIP registration so long as Allow Guest Calls was enabled. You probably can guess what our next test was. We disabled Allow Guest calls and attempted to call an extension on the Grandstream PBX. It rang busy as it should. We then dialed extension 7000, and guess what? The call went through. Whoa! Remember, SIP guest calls had been disabled, and there was no SIP registration because of a password mismatch. In short, anybody from anywhere that knew the public IP address of our Grandstream PBX could now connect to any IVR on the device just by knowing that the IVRs begin with extension 7000. It’s a classic dial plan mistake of letting external calls bleed into privileges which should be reserved for internal users. For security and other reasons, it’s also why FreePBX does not assign extension numbers to IVRs. But there’s more.

Stealth AutoAttendant Gone Bad. As you can see from the IVR Setup screen shown above, two of the options available when setting up an IVR are to enable calls to Extensions and to Trunks. Many administrators as well as casual users that barely understand what they’re doing probably would enable these features believing the options would be restricted to local use by the default guest call restriction. Wrong! What it means in terms of this security lapse is that now any anonymous caller with your IP address can dial into your Grandstream PBX and, while the IVR announcement on the default IVR extension (7000) is playing, the anonymous caller can dial any Extension or any long distance call supported by the Grandstream PBX trunk configuration so long as these options were enabled in the IVR. In Nerd Vittles parlance, think of it as a remake of our Stealth AutoAttendant with Public DISA Connectivity… for the world!

FXO/PSTN Warning. In discussing this with Tony Lewis of Schmooze and FreePBX fame, he reminded me that we’re talking about a PBX that’s been designed for business use with FXO ports and PSTN trunks. So, while the SIP vulnerability at least required that someone know the IP address of your PBX, once you connect PSTN lines to the Grandstream PBX and answer incoming calls with an IVR on the system, all bets are off. Anonymous bad guys now can place PSTN calls to any published phone number for your server that happens to connect to an IVR. These calls then can be used as the springboard to place outbound calls to anywhere the PBX trunk setup permits. Get out your checkbook!

http://www.youtube.com/watch?feature=player_embedded&v=Varwjb-eJjw


Syslog Configuration. We have another concern with the device as well. The default syslog setup sends information to log.ipvideotalk.com which is a server registered to Grandstream Networks in Los Angeles. With a closed platform, you have no way to decipher what is actually being sent without putting Wireshark on the line and monitoring it. While we are not suggesting that Grandstream has anything but the best of intentions, we think it’s a better practice to allow folks to opt in to monitoring systems, particularly ones that provide as much confidential information as the Asterisk syslog setup.

Other Security Issues. Having owned the device for only a few days, we obviously have not tested all of the potential attack vectors. There are other anomalies in the dial plan code which we really can’t quite figure out without seeing the actual code. We were going to try to document an equally serious issue with the trunk peering, but your head would probably explode just trying to wrap your head around the problem. Ours did! Suffice it to say, with a single outbound route to a registered trunk that has failed to register, all outbound calls initiated by internal and external callers should always fail. They don’t! We’re also unclear whether the appliance provides SSH access for the root user. In any case, you aren’t provided the password. That could potentially be a problem if, in fact, a root account is enabled on the appliance. Finally, we should note that, according to the GPL materials published by Grandstream, this appliance is running Asterisk 1.8.9.3. Twenty-five versions of Asterisk 1.8 have been released since that offering appeared eight months ago. Some of those updates patched serious security vulnerabilities in the Asterisk 1.8 code.

Until Grandstream addresses some of these security issues, you are well advised to only operate a Grandstream PBX behind a secure, hardware-based firewall with no Internet port exposure. We would caution against connecting PSTN trunks to the device at this juncture. If you’re feeling lucky, a possible option for the time being would be to disable IVRs and especially the extension and trunk dialing options. That alternative unfortunately defeats the real purpose of buying these devices.

I Have A Dream. Not to beat a dead horse, but discoveries like this reinforce the need for companies such as Grandstream to revisit their design strategy and give serious consideration to open sourcing their code. After all, Grandstream is primarily a hardware company, and they could sell a gazillion of these appliances if the platform were open. We’ve hurriedly compiled a list of features that currently are missing which could be added almost overnight if this were an open source project. The PBX in a Flash development team would be at the front of the line to assist!

  1. No text-to-speech functionality
  2. No speech-to-text functionality
  3. No (intended) DISA functionality (but data is collected in syslog??)
  4. No ability to load custom dialplan code
  5. No AGI/PHP script support
  6. No Google Voice support for free calling in U.S. and Canada (add it for $30 like this)
  7. No SIP/IAX trunk registrations from remote Asterisk servers
  8. No incoming calls except via anonymous SIP or PSTN (nixes interoffice setups for extensions)
  9. No traditional fax support except using fax machine on FXS port (T.38 is supported)
  10. No access to Asterisk CLI for debugging or otherwise
  11. Crippled SSH access (basic config info, set/get variable, upgrade, reboot, reformat)
  12. No VPN support
  13. No SIP security with Internet exposure
  14. No Fail2Ban support
  15. No WhiteList security to lock down the server

Recommendations. In closing, we don’t mean to suggest that security vulnerabilities never occur in open source code, but open source does guarantee that hundreds if not thousands of developers would be reviewing the code rather than a handful of people that may not fully appreciate all of the nuances of Asterisk. And each time a discovery like this occurs that has the potential of costing unsuspecting companies thousands of dollars in unanticipated phone bills, it gives Asterisk an undeserved black eye. Issuing a patch unfortunately won’t cure this problem for most purchasers because most purchasers never upgrade firmware on appliances.

We hope Grandstream will either pull the devices from the marketplace until the default firmware is fixed or place a big orange warning sticker on the boxes warning purchasers to upgrade the firmware and explaining the consequences of not doing so. Better yet, do the right thing and open source the platform and the code so that others can benefit from Grandstream’s development work on what still could be an incredibly useful and amazing device.


July 31 Update: After an exchange of emails with Grandstream, we have a better understanding of their call routing methodology that we want to pass along. It should be noted that the security holes we documented still exist, but there are mechanisms in place to stop the bleeding… if you know how to use them. Grandstream relies upon a set of Privilege Levels for extensions and IVRs as well as inbound and outbound routes. These include Internal, Local, National, and International. Only Extensions and IVRs with matching or higher privileges can use Inbound and Outbound Routes of a matching or lower privilege level. Read that again! It’s important. For example, if an extension has Internal privileges (the default), then that Extension can only access Outbound Routes designated as Internal. Calls to other numbers will fail. Unfortunately, all routes default to Internal, and this security mechanism is barely documented in the User Manual. Unlike FreePBX which uses Outbound Routes to connote calls leaving your server, Outbound Routes in Grandstream parlance are a set of dialplan rules for every call. Stated differently, to have a secure system, you need to create an Outbound Route for every possible type of external AND internal call. The same holds for Inbound Routes. Here’s an example of how to safely configure Trunks and Extensions between the Grandstream PBX and a remote Asterisk server so that extension-to-extension calls can be made between the two offices while insulating your IVRs from the long distance free for all that we documented in the original article.

Unfortunately, the IVR setup is still buggy and hence vulnerable. As the chart at the end of this article makes clear, there presently is no way to configure an IVR in such a way that remote callers cannot make long distance trunk calls while local extensions can. The only options presently available are either to disable the Dial Trunk option or to set the IVR Privileges lower than the Privileges setting for your outbound trunks. Do NOT rely upon a separate IVR for local users with the Dial Trunk option enabled thinking you’re safe. You’re not! Our original article above explains the possible consequences.

Remote Asterisk Server Setup Using FreePBX. On our remote server, we want to create two Trunks and an Outbound Route. One trunk will be used to set up an outbound registration to an Extension on the Grandstream PBX. We’ll use this trunk to place calls to Grandstream PBX extensions, IVRs, and conference rooms. The other trunk will be used to authenticate an inbound registration from the Grandstream PBX. The Grandstream PBX extensions will use this trunk (with registration from the Grandstream PBX) to initiate calls to extensions registered on our remote server. The outbound route will be used to route calls using the outbound registration trunk to Grandstream PBX extensions, IVRs, and conference rooms.

Here is the outbound registration trunk to extension 5001 on the Grandstream PBX (192.168.0.120 in our example):

Here is the inbound registration trunk to authenticate the Grandstream PBX matching trunk:

Here is the outbound route that allows extensions on the remote server to call Grandstream extensions, IVRs, and Conference Rooms:

You would also want to create an Inbound Route for 5001 that sends incoming calls from dialing 5001 on a Grandstream PBX extension to a particular destination on your remote server. Otherwise, the calls would be processed using the FreePBX default inbound route if you happen to have one. In our setups, we typically point the default inbound route to an IVR or a receptionist’s extension.

Grandstream PBX Setup to Connect to Remote Asterisk Server. To make all of this work securely, we need to create an Extension to handle the inbound registration from the remote Asterisk server so that users on the remote server can call extensions, IVRs, and conference rooms on the Grandstream PBX. And we need a SIP trunk that will register to the remote Asterisk server so that Grandstream PBX users can call extensions on the remote Asterisk server. Then we need Inbound and Outbound Routes to lock things down. We’re using 192.168.0.181 as the IP address of the remote Asterisk server in this example. The key point in securing the Grandstream PBX is to assign the proper permissions to the Grandstream Extension and IVRs that will be used with remote server connections. Then elevate permissions where necessary on the Inbound and Outbound Routes to make sure only our truly local extensions can make calls using Grandstream long distance and PSTN trunks. Don’t confuse local extensions with Local permissions. A local extension is an extension that registers to the Grandstream PBX. Local permissions is a security level that means a particular resource can only do things with other matching Internal or Local resources and with no resources that have been assigned a higher permission level. Internal permissions means a resource can only do things with other Internal resources. Clear as mud? We know. Hang in there until we’re finished.

First, create extension 5001 that will be used by the remote Asterisk server to register with the Grandstream PBX:

Next, create a SIP Trunk that will register to the remote Asterisk server at 192.168.0.181. We’ve used 1234 as the password in our examples so plug that in for the time being. You obviously would want something more secure than that! You’ll note that you don’t assign a Permission level to a Trunk. That is handled in the Inbound and Outbound Routes which tie particular routes to designated trunks. So Trunks inherit their permissions based upon a matching route. We suspect this may be the root cause of the security holes that we’ve documented. If there is no specified route for a particular type of call, Grandstream is doing something internally to make a determination on whether to allow the call or not. In some cases, that determination just happened to be wrong.

For truly local users, i.e. extensions directly connected to the Grandstream PBX, you need to elevate the Permissions for those extensions to reflect the types of calls you want them to be able to make. Typical permission for these extensions would be National or International. The same holds true for IVRs. Elevate IVR permissions to restrict usage to your intended audience. Keep in mind that we’re treating calls to extension 5001 on the remote Asterisk server as Internal. That’s the bottom rung in the security ladder which means every local extension and IVR will be able to place calls to that extension. If this isn’t what you want, then you’ll need to elevate the 5001 extension permissions accordingly. For example, you may only want Grandstream PBX extensions with Local call permissions to be able to call extensions on the remote PBX. In this case, you would want to change the 5001 extension permission level to Local.

Let’s tackle the Inbound Routes next since this was the cause of the inability to connect to local Grandstream extensions from the remote server. If you’re using the default Grandstream setup, then you’ll need Inbound Routes for both _50XX extensions and _70XX IVRs to permit remote callers to connect with Grandstream PBX extensions and IVRs with Local permissions only. This means that even if they connect to the 7000 IVR, they will not be able to make long distance calls on your nickel even if Trunk dialing is enabled.

The Inbound Route rule for Extensions should look like this:

The Inbound Route rule for your IVRs should look like this:

The key point to keep in mind with Inbound Route IVR permissions is to keep the permission level LOWER than whatever permission level you assign to the Outbound Route for placing calls that cost you money, typically National and International.

Now let’s set up the Outbound Route to restrict outbound calls to 10-digit numbers for extensions, IVRs, and Inbound Routes to those with at least National permissions. Keep in mind you may need additional outbound routes with Local permissions for certain 10-digit numbers if your local calling area happens to include free calling to multiple area codes, e.g. Atlanta.

Depending upon your setup, you may need additional dialplan rules and outbound routes to handle 11-digit numbers which should be routed out through a PSTN trunk, e.g. 1NXXNXXXXXX. And because of the security hole, be sure to add a catch-all for international calls that requires International permissions. The dial string XXXXXXXXXXX. will catch everything not included in the NXXNXXXXXX and 1NXXNXXXXXX outbound rules.

Finally, you’ll need an Outbound Route that allows local callers on the Grandstream PBX to connect to extensions on the remote PBX. You typically would assign Internal or Local permissions to this route which would look something like the following depending upon the extension configuration on your remote PBX:

A Word of Caution on IVRs: In the Grandstream security model, IVRs have their own Privilege levels. At least at this juncture, that Privilege level can "promote" the permissions of a call that began at a lesser privilege level. For example, if your Inbound Route for 7XXX calls is assigned Local privileges and the 7000 IVR is assigned National privileges, an incoming call to 7000 from a remote PBX will "inherit" the National privileges of the IVR. This obviously should never be possible. Either the 7000 IVR should generate Congestion and not answer the call at all where the Inbound Route has lesser privileges than the IVR. Or, at the very least, those options in the IVR (including stealth extension and trunk dialing) that require National or International privileges should generate Congestion and disconnect the call. For the time being, ALWAYS set the Privilege level of an IVR to the lowest permission threshold to protect your server and wallet from the consequences of placing unintended toll calls. Here’s a little chart we put together to document the impact of merely changing the Privilege setting for the 7000 IVR:

Other Tips and Tricks. Here are a few other suggestions to expand the functionality of your Grandstream PBX:

Add Google Voice Support with an OBi Device

Add Bluetooth Cellphone Trunk with an OBi202

Add Free iNum Calling Worldwide with a VoIP.ms Account using an OBi202

Continue reading Part 2


Deals of the Week. There are a couple of amazing deals still on the street, but you’d better hurry. First, for new customers, Sangoma is offering a board of your choice from a very impressive list at 75% off. For details, see this thread on the PIAF Forum. Second, a new company called Copy.com is offering 20GB of free cloud storage with no restrictions on file size uploads (which are all too common with other free offers). Copy.com has free sync apps for Windows, Macs, and Linux systems. To take advantage of the offer, just click on our referral link here. We get 5GB of extra storage, too, which will help avoid another PIAF Forum disaster.

Originally published: Tuesday, July 30, 2013



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


 

Don’t miss the first-ever FreePBX World on August 27-28 at the Mandalay Bay in Las Vegas. For complete details, see this post on the FreePBX blog.


 


We are pleased to once again be able to offer Nerd Vittles’ readers a 20% discount on registration to attend this year’s 10th Anniversary AstriCon in Atlanta. Here’s the Nerd Vittles Discount Code: AC13NERD.


 

Special Thanks to Our Generous Sponsors


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

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

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

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



Some Recent Nerd Vittles Articles of Interest…

  1. It turns out Grandstream may not have much of a choice but to open source their code. It now appears their PBX and User Interface are both based upon open source GPL2 software owned by Digium. []

Taking a Page from Asterisk: How Far We Have Come

We’ve never written about paging technology before, and this is one of those areas of VoIP telephony where it certainly paid to wait. What a difference a few years makes! At least in the Asterisk® context, SIP-based paging traditionally involved issuing a Page command with a list of extensions in your dialplan. The wrinkle was that each VoIP phone manufacturer had its own SIP header to trigger autoanswer on its phones. And, without autoanswer, paging becomes next to worthless with desktop phones. Then came FreePBX®. It took all the pain out of the process by using the *80 prefix to issue a page to almost any type of SIP phone. The one wrinkle was that Grandstream and a few other phones require that autoanswer be enabled for paging in the device configuration. Aside from that, any user can pick up a phone on a PBX in a Flash system and dial *80707 to page extension 707 with duplex voice communications through the speakerphones, meaning both parties can talk and listen to each other, the perfect VoIP intercom. And, there’s more good news. Paging works with almost all of the major phone manufacturers’ phones: Aastra, Digium, Grandstream, Linksys/Sipura, Mitel, Polycom, SNOM, and Yealink. In addition, the SIP-compatible Cyberdata ceiling speaker and Cyberdata POE Doorphone/Intercom with Keypad function just like a SIP phone.

For small groups of phones, paging now works equally well using the FreePBX Paging Module which allows an administrator to preconfigure a group of phones, specify whether to skip busy extensions, barge into busy extensions and place existing callers on hold, or whisper the page to the busy extensions. You can even enable or disable duplex communications during the page. Think of it as instant conference. The module also provides the flexibility for individual phone users to block pages from one or more extensions or even all extensions. Finally, the module lets you create and save multiple configurations for different purposes, and you can designate an Announcement message that plays to every page recipient. For a historical look at the evolution of paging on the Asterisk platform, see Chapter 11 of Asterisk: The Definitive Guide (4th edition). Better yet, buy the book!

So why do we need paging? In the corporate setting, it provides a perfect emergency broadcast service for fires, earthquakes, patient escapes from the loony bin, etc. In a school setting, it could inexpensively replace costly public address systems requiring dedicated wiring, speakers, and amplifiers. The Asterisk paging solution has the added benefit of letting anyone broadcast from anywhere by simply picking up a nearby phone and dialing some (hopefully password-protected) extension number. Separate RTP streaming IP addresses also could be configured on departmental phones to allow automobile dealership zone paging for parts, sales, or service. So a receptionist could park a call and then announce it to a particular department by pressing a softkey on the sidecar. And you still could have an additional emergency channel that reaches everybody. Just set up a different number to page each zone as well as the entire organization.

So that’s where we were until a week ago when Brian Kelly of PIAF Forum fame began exploring Multicast RTP Paging with Asterisk and AirPlay. Think of Multicast RTP as a radio station that streams data on a particular IP address and port. If you happen to have Multicast-aware SIP phones, they can "tune in" to particular channels of interest. And, whenever a stream is broadcast on one of the channels the phone device is preconfigured to listen to, it will go off hook just as if it had received a page as outlined above. The major advantage to RTP streaming is that there is only a single stream of data on a single channel whereas paging to multiple extensions requires a channel of data for every extension. If you want to follow along with today’s project, just configure one of the Multicast RTP streams on your phone with the port and IP address shown below.

The wrinkle is your phone devices must support Multicast RTP streaming, and many current models do not. Our VoIP Phone of the Year, the Yealink T46G, qualifies. So do some of the Aastra, SNOM (v7), and Linksys/Cisco phones (with quirks!). And the Cyberdata speaker and doorphone (above) support Multicast RTP streaming as well. Digium Phones currently do not. If you know of other phones that support Multicast RTP streams, please post a comment. You’ll know if your particular phone supports it if it has a configuration section in the manual that looks something like this:

The good news is current versions of Asterisk including 1.8, 10, and 11 support Multicast RTP Streaming and PIAF-Purple and PIAF-Green come preconfigured for RTP Multicast Streaming. A single line of dialplan code is all you need to initiate a broadcast:

exten => 1234,1,Dial(MulticastRTP/basic/224.0.0.1:1234)

This would cause the Multicast RTP Stream broadcast to begin on port 1234 of IP address 224.0.0.1 as soon as someone on your PBX in a Flash server dialed extension 1234 and began to speak. Every phone or SIP device listening for broadcasts on port 1234 from IP address 224.0.0.1 would receive the listen-only page on their speakerphone.

Of course, Brian was not content to merely issue a page from Asterisk to his SIP phones. He wanted all of them to be able to listen to his iTunes music collection using his iPhone or iPad. This required AirPlay, but AirPlay can only stream to iOS devices. Well, not so fast. An enterprising guru on SourceForge created his own AirPlay emulator called Shairport4w. This is a Windows application that works just like an AirPort server. It "listens" for content from an iPhone or iPad that has designated Shairport4w as its AirPlay device. iTunes has the ability to stream music to any AirPlay device including the Shairport4w. So that was half of the puzzle. That got iTunes music playing great on the Windows desktop.

But we needed the other piece of the puzzle. We needed to push the music from the Windows machine to the SIP phones using Multicast RTP streaming. Brian found the missing piece of the puzzle for that as well. It’s called Multicast Streamer for Windows and it’s available at no cost from CodeProject. Simply download and unzip the bundle of goodies and run Multicast Streamer on your Windows desktop together with Shairport4w. Shairport4w captures the incoming AirPlay stream and pushes it to the sound card.

Now we simply need to configure the sound card as the input device for Multicast Streamer and make the appropriate settings to broadcast the RTP stream to port 1234 on IP address 224.0.0.1. This was the listening port and IP address we configured on our SIP phones. Be sure to also adjust the Samples per second to 8,000 and the Bits per Sample to 16.

Your mileage may vary but in our case the only output device showing on Multicast Streamer was Microphone. What we needed was Stereo Mix to capture data from the sound card rather than the microphone. If yours is missing, do the following. Right-click on the Speaker icon and switch to the Recording tab. If you don’t see Stereo Mix, then Right-click on an empty area and make sure that both "Show Disabled Devices" and "Show Disconnected Devices" are checked. When the Stereo Mix option appears, Right-click on it and check Enable. Set the level to 100. Now it will also appear as an input device when you restart Multicast Streamer. Choose it as the default input device, make sure all your other settings match what we outlined above, and then click Start to begin the stream. Now stroll over to your iPod music player app on your iPhone or iPad, choose Shairport4w as the AirPlay output device, and play away. To cancel the stream on any phone, just hangup the speakerphone. Enjoy!


Deals of the Week. There are a couple of amazing deals still on the street, but you’d better hurry. First, for new customers, Sangoma is offering a board of your choice from a very impressive list at 75% off. For details, see this thread on the PIAF Forum. Second, a new company called Copy.com is offering 20GB of free cloud storage with no restrictions on file size uploads (which are all too common with other free offers). Copy.com has free sync apps for Windows, Macs, and Linux systems. To take advantage of the offer, just click on our referral link here. We get 5GB of extra storage, too, which will help avoid another PIAF Forum disaster.

Originally published: Monday, July 22, 2013



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


 

Don’t miss the first-ever FreePBX World on August 27-28 at the Mandalay Bay in Las Vegas. For complete details, see this post on the FreePBX blog.


 


We are pleased to once again be able to offer Nerd Vittles’ readers a 20% discount on registration to attend this year’s 10th Anniversary AstriCon in Atlanta. Here’s the Nerd Vittles Discount Code: AC13NERD.


 

Special Thanks to Our Generous Sponsors


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

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

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

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



Some Recent Nerd Vittles Articles of Interest…

Programmer’s Paradise: Introducing the VoIP Phone of the Year, Yealink’s T46G

If you’ve been missing the Aastra programming platform these last couple years while America’s patent trolls continued to destroy the software development community in the United States, then you’ll be excited to learn that there’s a new kid on the block with a revolutionary phone. One can’t help wondering what the heck we are doing to ourselves. First, we destroy the programming community with tax breaks for off-shore developers, and then we grant bogus software patents for "inventions" that have been showing in SciFi movies for at least 30 years. Really? </end of rant>

Yealink’s new T46G steps into the VoIP phone spotlight where Aastra left off with a magnificent color screen and every VoIP phone feature you can dream up: HD voice, dual port gigabit Ethernet, POE, Bluetooth headset support, automatic provisioning via FTP/TFTP/HTTP/HTTPS, OpenVPN, STUN, 1,000 user local phone book with photos plus LDAP support, RTP multicast streaming, full-duplex speakerphone with AEC, 27 function keys plus four softkeys and cursor keys not to mention (let the alphabet soup begin) VAD, CNG, AEC, PLC, AJB, AGC, SMS, BLF, SNMP, SRTP, QoS, and on and on. But the most exciting features have got to be complete Asterisk® function support including call hold, DND, MWI, attended and unattended call transfers, voicemail, intercom, paging, and barge plus action URLs and Yealink’s XML web development platform. All of it is integrated into this phone. Virtually anything you could build with PHP and XML on the Aastra phones can now be created on the Yealink platform. It’s simple, non-proprietary, and just works! See the Nerd Vittles sidebar for a terrific deal on these phones if you hurry.

Legal Disclaimer. Our mission today is to introduce you to XML programming on the T46G. This is proof-of-concept code owned by Ward Mundy & Associates, LLC. It is not licensed for use at all without your first consulting a patent attorney and getting a green light to proceed. Then, and only then, you may consider it GPL2 code. In short, the delivered code is to teach programming design basics NOT to step on anybody’s claimed patents. Displaying an RSS news or weather feed or picture on a phone does not qualify as rocket science, but we can’t vouch for whether somebody, somewhere claims to have "invented" it. These sorts of features have been around since at least 1990 with AT&T’s Partner Plus phone system and IBM’s Simon Communicator. That places the features well outside the 20-year patent umbrella. But this is not legal advice, and consider yourself warned. Some of the examples rely upon RSS, XML, or HTML links from other organizations. Specifically, the News and Weather feeds use Yahoo! RSS feeds, the Sports feed uses ESPN’s RSS feed, the PIAF RSS Feed uses the PBX in a Flash security alert system, and the Photo of the Day uses Google+ public links to Lilliphoto’s incredible photography. Check with your attorney and explain your intended use before using any of these apps. Never remove credits from published material of others!

XML 101. XML stands for Extensible Markup Language and is a language used for describing data. It doesn’t really care what the data happens to be. In our case, we want to tell the T46G phone how to do something so we have to follow the XML design rules that the phone understands. These are all covered in Yealink’s XML Browser Developer’s Guide. So Step #1 is to actually write an XML program. Once you’ve written your XML program, then you need to host it on a web server. This could be your PBX in a Flash server which includes an Apache web server, or it could be a hosted web server on the Internet. The advantages to using a web server colocated on a private subnet where your phones reside are that (1) it’s easy to protect your stuff from the NSA and other prying eyes and (2) it’s easy to obtain data directly from your Asterisk server without much risk of compromising the results to strangers. Step #3 is to configure a button on your phone to run the XML application that you’ve deployed on your web server.

Hello World. All programming tutorials begin with a "Hello World" example that shows you how to display something simple on a monitor. On some platforms, capitalization doesn’t matter. On Yealink phones, it does so pay particular attention to the actual syntax required, or your program won’t work. Here’s how you write an XML program called hw.xml to display "Hello World" on your phone when you push a button to run the hw.xml program:

<TextMenu>
<Title>Hello World</Title>
<MenuItem>
<Prompt>Hello World</Prompt>
</MenuItem>
</TextMenu>

If you want to try this on your own server, log into your PBX in a Flash server as root, switch to the /var/www/html directory, create a yealink folder, switch to that folder, and use an editor to create the hw.xml program shown above:
cd /var/www/html
mkdir yealink
cd yealink
nano -w hw.xml

Once you’ve created the text, press Ctrl-X, Y, then Enter to save the file.

Step #3 is to assign the web application to a button on your phone. We’ll use the phone’s web GUI to do that. First, you’ll need the IP address of your phone. Press the OK button from the main screen to obtain it.

Using a web browser, go to the IP address from the previous step. Login to your phone using admin:admin as the username and password (unless you’ve changed it). Click on the DSSKey tab and then click Programmable Key in the left sidebar. Let’s use the Down cursor key to store our program for the time being. You’ll see it in the Key list. Click on the pull-down menu beside the Down key and choose XML Browser for the Type. In the blank field under the Value column, type: http://192.168.0.50/yealink/hw.xml. Substitute the private IP address of your PIAF server for 192.168.0.50. When you’re finished, click the Confirm button at the bottom of the page.

Switch to your phone and press the Down cursor key from the main screen, and Voila! Hello World.

Congratulations. You’re now a G-E-N-U-I-N-E XML Programmer!

PHP Basics. What you can’t do with XML programming is retrieve data from other sources. In other words, XML code is static data. For our examples today, however, we want to retrieve data from other sources and display it on our phone. We need another programming language to do that. PHP happens to be simple, and it’s included on all PBX in a Flash servers so let’s use it. As with XML, you need the programming guide to learn what the commands are. For today, all you need to know is that PHP programs have file names ending in .php and always begin with <?php and always end with ?>. Everything in between has to be a PHP command or function with each line ending with a semicolon. While your Yealink phone’s XML Browser can run PHP programs, it can only understand output that conforms to its XML rules. So the trick is to have your PHP program print out results that are formatted to look like the XML "Hello World" example above. Aside from that, a PHP program can do anything it wants under the covers.

Our "Hello World" hw.php example in PHP to display on the Yealink phone would look like this:

<?php
echo "<TextMenu>\n";
echo "<Title>Hello World</Title>\n";
echo "<MenuItem>\n";
echo "<Prompt>Hello World</Prompt>\n";
echo "</MenuItem>\n";
echo "</TextMenu>\n";
?>

Congratulations. You’re now a G-E-N-U-I-N-E PHP Programmer, too. Two diplomas in one day. WOW!

Yealink Main Menu. Shown above is the main screen which displays when you boot your phone. We’ll walk you through all the steps to get it configured as shown. You will note there are 10 function keys displayed as well as 4 Softkeys. Applications and features that you wish to use can be assigned to one of the 10 function keys, any of the four softkeys, or the cursor keys. Where you place apps that you build matters! Keep in mind that the feature set of the Softkeys below the display as well as the cursor keys will change whenever you place a call or make a menu selection. So it’s probably not a smart idea to place apps that you need during a call on a softkey, or they’ll disappear. You’re not limited to 10 function keys. There actually are 27 available. When you add more than 10, the 10th function key will allow you to scroll through two more screens full of functions. So you actually get 27 functions keys that can be assigned. If you only have 10, then all 10 are shown on the main screen as shown above.

The easiest way to configure Yealink’s Main Menu is through the phone’s web GUI described previously. You’ll find all the options under the DSSKey tab. A word about logos: JPEG wallpaper can be as large as 480×272 pixels; however, you probably don’t want a full screen image because the 10 function key tabs will cover up about 120 pixels on the left and right sides of the image. So leave those two areas as white on your 480×272 image, and you’ll end up with something that looks like the PIAF image above. You can download the PIAF image here. You upload and install it on the Settings tab in the phone GUI.

Yealink XML Basics. The XML platform on the Yealink phone supports several types of display screens, and we’ve tried to provide examples of the more important ones in our News, Weather, Photo of the Day, and Asterisk Phonebook applications. The TextMenu object is just what it says: a list of menu options from which you can make a selection. If you highlight a particular option and press the OK button or some other designated function key, the XML program stored with that menu option is run. If you highlight an option and press a Dial button or the Speakerphone button, a phone number stored with that option is dialed. The InputScreen object is a data entry screen. It lets the user key in a number or text using the numeric keypad in much the same way that you do it on any cellphone. It then passes the results to a PHP program indicating the variable name and its contents. This is what we use in the Weather by ZIP Code application to determine which weather forecast to display. The Directory object is self-explanatory as well. It gives a list of names and numbers and dials the number of the entry chosen by the user. The ImageScreen object displays a JPEG photo with automatic resizing. We built the Photo of the Day app to show you how to do it.

Just a few basics and you then can download the file, accept the license agreement, and take a look at the code. First, we’ve discovered a minor bug in the latest Yealink T46G firmware. The menus and queries hang about 4 out of every 5 attempts unless you configure your phone with a static IP address and set the DNS server addresses manually. We suspect this is a timing issue, but we wanted to alert you to avoid needless frustration in playing with this. Once you’ve taken care of this and installed the software, the initial display by pressing the #10 function key (XML Apps in the screenshot above) will bring up the Applications Menu shown above.

If you have also installed Incredible PBX on your PIAF server, then there are dial options in addition to display options with several of the applications. To initiate a display option, simply highlight a menu selection and press either OK or the Select button. To initiate an actual call, highlight a menu selection and press the Speakerphone button. Phonebook (411), News (951), and Weather by ZIP (947) dial the Incredible PBX apps shown in parentheses. Be advised that the National Weather Service recently revised their Weather by ZIP service. If you need the patch to return your Incredible PBX system to the living, you’ll find it on the PIAF Forum. Incredible PBX 11 and Incredible Pi 3.11 systems were automatically patched for you.

The Asterisk Phonebook option was specifically designed to support those users who have imported their Google Contacts into the Asterisk Phonebook. If you have not yet done this, visit the PIAF Forum to get the script. If you are using a dedicated domain for your Google Apps, there is also a patch to support domains other than gmail.com. When you choose this option, you’ll be prompted to enter a name. First, press the 2aB SoftKey twice to change the keyboard to abc format. Then it works for the alphabet just like your cellphone. Next, enter four or more characters of a first or last name or organization and press Search or OK button. The phonebook app then will find all matching entries in your Asterisk Phonebook. Both the phone number and name entry will be displayed. Highlight the desired choice and press the Speakerphone button to place the call. You will note that only six matches are displayed on the screen even though there is room for more. This doesn’t mean you’ve seen all matches! Just scroll down the list to see the next six entries. If you would prefer to simply say the name of someone in your AsteriDex phonebook and you’ve installed Incredible PBX, then highlight the Phonebook option on the Applications Menu and press the Speakerphone button. Say the name desired when prompted.

The News Headlines option retrieves the Yahoo! RSS News Feed. To display the information on your phone, highlight the News option and press Select or OK button. If you’d prefer to listen to the News headlines and you’ve installed Incredible PBX, then press the Speakerphone button.

The Weather by ZIP Code app retrieves the latest weather information from Yahoo! (text) or the National Weather Service (voice). Simply key in the 5-digit zip code and press Submit or OK to display the current conditions and forecast from Yahoo! If you press the Speakerphone button, you get to listen to the latest update from the National Weather Service.

The Sports Headlines app retrieves the latest sports news from ESPN’s RSS Feed and the Associated Press. Just highlight the option and press Select or OK.

The PBX in a Flash Security Alerts app retrieves the PIAF RSS Feed and displays the latest security bulletins together with links to forum posts documenting the problem and the fix.

The Photo of the Day app displays a collection of photographs from renowned photographer, Midori Chan. It provides an excellent demonstration of the image resolution quality of the Yealink T46G’s screen. In addition, it shows off the auto-sizing capability of the phone. A more practical application might be a collection of PowerPoint slides which could be displayed during a conference call on the phone. The possibilities are endless!

If you scroll up or down the PIAF Apps Menu, you’ll find the bonus SMS Messaging with Google Voice application. It’s also available by pressing SoftKey3 from the results screen within the Asterisk Phonebook app. There are two prerequisites to use this app. First, on your PIAF2 server, you’ll need to install SMS Dictator 2 as well as the SMS Message Blaster app included in that tutorial. These applications both are preinstalled in all versions of Incredible PBX, including the Raspberry Pi edition. Next you’ll need to create gvoice.php in /var/www/html/yealink and enter the username and password credentials for one of your Google Voice accounts. The file should look like this:

<?php
$GVACCT="username@gmail.com";
$GVPASS="yourpassword";
?>

You can take it for a spin by selecting the application from your T46G and plugging in a 10-digit cellphone number plus a brief text message. Click the Submit button to send the messages. Note that replies will NOT be delivered to your phone. Instead, they will go to whatever email forwarding address you used when you set up your Google Voice account. In order to take maximum advantage of the SoftKeys for data entry, you’ll need to use the X button to exit from the SMS application. This button can also be used to exit from any screen on the T46G.

Installing the XML Apps. For those with PBX in a Flash, the installation procedure is simple because Apache and PHP environment with CentOS 6 is already in place. Log into your server as root and issue the following commands to get everything in place:

cd /
wget http://pbxinaflash.com/PIAF4yealink.tar.gz
tar zxvf PIAF4yealink.tar.gz
rm PIAF4yealink.tar.gz

Configuring the Yealink T46G. Using a browser, open the phone GUI by pointing to the IP address of your phone. Press the OK button if you’ve forgotten your phone’s IP address. Login with admin:admin. Click the DSSKey tab and select Line Key 10-18 in the left sidebar. For Line Key10, choose XML Browser from the Type pulldown. Beside it in the Value column, enter the following using your server’s IP address: http://192.168.0.222/yealink/piaf.php. In the Label column, type: XML Apps. Now click the Confirm button to save your entries. After complying with the license agreement in /var/www/html/yealink/COPYING, you can take the apps for a spin by pressing Function Key 10 on your Yealink T46G. You can download a number of additional T46G apps from the T46G thread on the PIAF Forum.

Conclusions. With a phone as new as the T46G, we were more than a little skeptical of the XML programming platform that Yealink was providing. We were pleasantly surprised. Except for one typo in the documentation, the XML code was flawless and performed exactly as documented in Yealink’s excellent documentation. These six sample apps barely scratch the surface of what is possible using these new phones. We’ll look forward to seeing what others can produce in coming months. It’s great to have a terrific new VoIP phone to support future open source development. And the stunning color display is simply icing on the cake. Enjoy!


Deals of the Week. There are a couple of amazing deals still on the street, but you’d better hurry. First, for new customers, Sangoma is offering a board of your choice from a very impressive list at 75% off. For details, see this thread on the PIAF Forum. Second, a new company called Copy.com is offering 20GB of free cloud storage with no restrictions on file size uploads (which are all too common with other free offers). Copy.com has free sync apps for Windows, Macs, and Linux systems. To take advantage of the offer, just click on our referral link here. We get 5GB of extra storage, too, which will help avoid another PIAF Forum disaster.

Originally published: Monday, July 15, 2013



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


 

Special Thanks to Our Generous Sponsors


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

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

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

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



Some Recent Nerd Vittles Articles of Interest…

The Future of VoIP Telephony in an Asterisk World

If you don’t think there’s a telephony revolution underway, then take a look at this year’s crop of new VoIP telephones. No doubt that Alexander Graham Bell would be a happy camper. We’ve picked three of our favorites to take for a spin this week. Pictured above (left to right) are the Mocet Communicator, Grandstream’s GXP2200, and Yealink’s T46G. These three devices offer three dramatically different, but equally effective, approaches to the future of VoIP telephony.




The Mocet Communicator is what we’d call a BYOI (bring-your-own-iPad) device. With it, you get a full-featured HD telephony platform plus all the feature comforts of a full-fledged iPad including Skype, a variety of free messaging apps such as iMessage and FaceTime, Google Voice featuring GV Connect, and any other app of any type you choose to install on your iPad. After installing the free IP Commander app from the App Store, the phone interconnects with iOS and your iPad seamlessly. It’s a one-minute operation to set up a SIP connection with PBX in a Flash™, Incredible PBX™, and Asterisk®. For the ultimate in ease of use, the FreePBX™ (commercial) EndPoint Manager fully supports all the Mocet devices. EPM is the best $25 you could ever spend on your server. The phone itself worked flawlessly inside a private LAN as well as from a remote site with either a direct IP connection or VPN connection to home base. For the ultimate in flexibility, you can add an inexpensive WiFi adapter. HD Voice quality with even an entry level DSL connection was spectacular. And, if the wow factor of causing your nerdy friends to wet their pants is a consideration, then this is the hands-down winner. Click this link for a rundown of the impressive feature set. Incidentally, you can still receive calls and make emergency calls even without the iPad connected.

Now let’s turn to what PBX in a Flash, Incredible PBX, and Nerd Vittles bring to the table with this new phone. We actually configured the "Red Hotline Button" a little differently than President Obama. Ours dials the Nerd Vittles CallWho™ application. The app is included in all Incredible PBX bundles as well. CallWho lets you place hands-free calls from your AsteriDex phonebook using simple voice commands. You can click on the YouTube video above for a one-minute demo.

If the Mocet Communicator has a drawback, it’s probably price, but hopefully that will improve in the next few months. The device itself retails for $229.95 with free 2-day Prime shipping using our Amazon link.1 Adding an iPad will set you back another $300+, but we love this phone. Its novel approach to hybrid VoIP technology is clearly the future direction of VoIP telephony, and the Mocet software will only get better with time.

Grandstream’s GXP2200 is proof positive that these hybrid VoIP phones are the wave of the future. Nerd Vittles reviewed this phone last November, and the feature set continues to improve. The GXP2200 is another approach to hybrid VoIP technology with Android serving as the base operating system for the phone itself. This brings you the best of all worlds for under $200 with no additional tablet to purchase. And you still get a terrific HD Voice platform with all the comforts of Android under the hood. See the Amazon link in our sidebar for the latest pricing. As with the Mocet Communicator’s iOS integration, Android brings a wealth of applications to the GXP2200 desktop including Skype, Facebook and Facebook Messenger, GrooVe IP for Google Voice, OBiON for free calling through any OBi device, dozens of additional messaging apps, and your choice of literally thousands of apps from the Google Play Store and Grandstream’s GS Market which features applications specifically tailored for the GXP2200. Since our original article appeared, Grandstream has released the expansion module for this phone. The addition of the 40-button sidecar with full BLF support for under $100 makes this a near perfect desktop phone for use with Asterisk. It’s one of a select few phones that we personally use all day, every day. It supports six SIP connections, and we use it to connect to several PBX in a Flash, RentPBX, and Incredible Pi servers scattered across the U.S. as well as a few SIP subaccounts hosted at Vitelity, VoIP.ms, and les.net. Performance is nearly flawless!

Yealink’s T46G Executive IP Phone may still be our top pick even with the new generation of hybrid phones. See the Nerd Vittles sidebar for an incredible deal on this phone with a show-stopping feature set: HD Voice, dual-port gigabit Ethernet connections, USB support for Bluetooth and WiFi (soon), integrated POE support plus included power adapter, multiple phonebook options with up to 1,000 entries, VLAN and OpenVPN integration, 10 line keys with 27 programmable buttons, SRTP encrypted communications, and a stunning color display. Two years ago this would have been a $500 phone, and now it’s a lunch tab away from the price of Digium’s entry-level SIP phone. Pretty amazing. For the latest tips and tricks in getting the T46G properly configured, come join the PIAF Forum discussion.

UPDATE: Having now used the T46G for a few days, our first impression is that this phone is an industrial-grade, feature-rich, state-of-the-art SIP device with all of the feature comforts a large organization would want in rolling out a new company-wide phone system. Sophisticated server redundancy is built into the phones to support automatic failover to a backup VoIP server in the event of a catastrophic system failure. Encrypted SRTP communications as well as OpenVPN support is integrated into each phone. The T46G also includes the XML programming functionality available in the Aastra and Digium phones. You can try out our demo XML apps by visiting the PIAF Forum. In addition, basic web server interaction is provided through event triggers on the phone that can generate Action URIs to receive and process HTTP GET requests and Action URLs to send HTTP GET requests when a specified telephone event occurs.

The phonebook implementation is exactly what a large organization would want: three phone numbers plus a phone, ring tone, and group entry per person plus customizable accounts and groups. Import and export of XML or CSV data through a web interface is a snap. In fact, the CSV format even supports export of images linked to every phonebook entry. For a large organization, it means the HR department could maintain a single phonebook database of up to 1,000 records with photos of every employee. That database then could be pushed to every phone in the organization by one HR employee using a web browser without ever touching or rebooting a single telephone. LDAP directories are also supported for the purists. Enjoy!





Deals of the Week. There are a couple of amazing deals still on the street, but you’d better hurry. First, for new customers, Sangoma is offering a board of your choice from a very impressive list at 75% off. For details, see this thread on the PIAF Forum. Second, a new company called Copy.com is offering 20GB of free cloud storage with no restrictions on file size uploads (which are all too common with other free offers). Copy.com has free sync apps for Windows, Macs, and Linux systems. To take advantage of the offer, just click on our referral link here. We get 5GB of extra storage, too, which will help avoid another PIAF Forum disaster.

Originally published: Tuesday, July 9, 2013



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


 

Don’t miss the first-ever FreePBX World on August 27-28 at the Mandalay Bay in Las Vegas. For complete details, see this post on the FreePBX blog.


 


We are pleased to once again be able to offer Nerd Vittles’ readers a 20% discount on registration to attend this year’s 10th Anniversary AstriCon in Atlanta. And, if you hurry, you also can take advantage of the early bird registration discount. Here’s the Nerd Vittles Discount Code: AC13NERD.


 

Special Thanks to Our Generous Sponsors


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

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

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

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



Some Recent Nerd Vittles Articles of Interest…

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

Triple Treat: Some Asterisk Utilities to Brighten Your Summer

[purehtml id=12]

If you live and breathe Asterisk® but don’t visit the PIAF Forum regularly, you’re missing one of the best VoIP resources on the Internet. To get everyone in the Independence Day mood, we thought we’d share a few of the new goodies that have appeared on the PIAF Forum since The Great Crash of 2013. Although each of these utilities was designed to support PBX in a Flash™ and Incredible PBX™ systems, with a little tweaking, they’ll work equally well on other CentOS 6-based Asterisk servers of any flavor so long as the base version of Asterisk is at least 1.8. They also run just fine with Incredible PBX for the Raspberry Pi.

Import Google Contacts into Asterisk Phonebook. For everyone still using Gmail after the NSA disclosures, this app is for you. Now you can share your Google Contacts with Asterisk as well as the NSA. The beauty of this utility is that it also makes your Google Contacts available as a CallerID Name lookup source for CallerID Superfecta. So all of those cellphone numbers in your contacts will now display real CallerID names when those folks call you. Our special tip of the hat to John Babb for producing the original script and to @raphou for finding it and sharing it with the PIAF community.

Before you can import your Google Contacts into the Asterisk Phonebook, you first need to install Google’s gdata Python client. Just log into your server as root using an SSH client and issue the following commands:

cd /root
mkdir Google
cd Google
wget https://gdata-python-client.googlecode.com/files/gdata-2.0.18.tar.gz
tar zxvf gdata*
cd gdata*
chmod +x setup.py
./setup.py install
wget http://pbxinaflash.com/googlecontacts.py
nano -w googlecontacts.py

Once the editor opens, you need make a couple changes in googlecontacts.py. NOTE: We’ve adjusted the original code for use in the United States. If you’re living elsewhere, then grab the original code on the PIAF Forum.

The code you downloaded looks like this (plus some required indentation):
#!/usr/bin/python
# googlecontacts.py v0.1
# By: John Baab
# Email: rhpot1991@ubuntu.com
# Purpose: syncs contacts from google to asterisk server
# Requirements: python, gdata python client, asterisk
#
# License:
#
# This Package is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this package; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# On Debian & Ubuntu systems, a complete copy of the GPL can be found under
# /usr/share/common-licenses/GPL-3, or (at your option) any later version

import atom,re,sys,os
import gdata.contacts
import gdata.contacts.service

def main():
# Change this if you aren't in the US. If you have more than one country code in your contacts,
# then use an empty string and make sure that each number has a country code.
country_code = ""

gd_client = gdata.contacts.service.ContactsService()
gd_client.email = "yourname@gmail.com"
gd_client.password = "your_password"
gd_client.source = 'gcontact2ast'
gd_client.ProgrammaticLogin()
query = gdata.contacts.service.ContactsQuery()
query.max_results = 1000
feed = gd_client.GetContactsFeed(query.ToUri())

# delete all of our contacts before we refetch them, this will allow deletions
os.system("asterisk -rx \'database deltree cidname\'")

# for each phone number in the contacts
for i, entry in enumerate(feed.entry):
for phone in entry.phone_number:
# Strip out any non numeric characters
phone.text = re.sub('\D', '', phone.text)

# Remove leading digit if it exists, we will add this again later for all numbers
# Only if a country code is defined.
if country_code != "":
phone.text = re.sub('^\+?%s' % country_code, '', phone.text)

# Insert the number into the cidname database, reinsert the country code if defined.
os.system("asterisk -rx \'database put cidname %s%s \"%s\"\'" % (country_code,phone.text,entry.title.text))

if __name__ == "__main__":
main()

Before you save the script, you’ll need to make a few adjustments. First, insert your actual Gmail account name and password in lines 37 and 38. If you’re using 2-step authentication with your Google account, remember to generate and use an application-specific password. Your regular password won’t work! Second, if your Google Contacts include more than 1,000 phone entries, adjust the default setting on line 42. Now save the script: Ctrl-X, Y, then Enter. Then make the script executable: chmod +x googlecontacts.py.

Now you’re ready to import your Google Contacts. Just issue the following command: ./googlecontacts.py

You can check whether the import was successful by displaying a list of all the new entries in your Asterisk Phonebook. Here’s the command:

asterisk -rx "database show cidname"

Want to import entries from more than one Google account? It’s easy. Just make a duplicate of the script and repeat the setup process above with your new credentials. You’ll also need to comment out line 46 in the second script so that your previous import doesn’t get wiped out of the Asterisk Phonebook when you run the second script. Just make a mental note to run the scripts in the proper order whenever you wish to update your Asterisk Phonebook.

UPDATES: There’s now an Asterisk Phonebook app for Yealink T46G Color SIP phones. Once installed, you can look up and call numbers in your Asterisk Phonebook by pressing a button on your phone. Read all about it and download the app from the PIAF Forum.

For those using Google to host your own domain, there’s now a patch to let you import your Google Contacts into the Asterisk Phonebook as well. See this post on the PIAF Forum for the procedure.

If you’d like to keep your Asterisk Phonebook sync’d with your Google Contacts, then run the script every night by inserting the following line in /etc/crontab:

9 0 * * * root /root/Google/gdata-2.0.18/googlecontacts.py >/dev/null 2>&1

Now that you have your contacts imported, we need to adjust CallerID Superfecta so that incoming calls are scanned for a phone number match using the Asterisk Phonebook. Using a web browser, open FreePBX® and choose the CallerID Superfecta application. Modify CallerID Superfecta Lookup Sources in FreePBX to include Asterisk Phonebook. Make certain the Asterisk Phonebook entry appears near the top of the list so that it gets examined before any external lookup sources. This speeds up incoming call connections considerably.



Email Daily Call Log to Yourself. Many have requested a simple way to have a snapshot of your incoming daily calls emailed to the Asterisk administrator each day. Special thanks to @Boolah for the code. Using any PIAF system, simply create a file in /root called cdrlog.sh that looks like this:

#!/bin/bash
mysql -u root -ppassw0rd asteriskcdrdb -e 'SELECT calldate, clid FROM cdr WHERE DATE(calldate) = SUBDATE(CURDATE(), 1) AND did <> ""'

For Incredible PBX for the Raspberry Pi, the script should look like this:

#!/bin/bash
mysql -u root -praspberry asteriskcdrdb -e 'SELECT calldate, clid FROM cdr WHERE DATE(calldate) = SUBDATE(CURDATE(), 1) AND did <> ""'

Make the script executable: chmod +x /root/cdrlog.sh

Then run the script: /root/cdrlog.sh

If you’d like the listing of the previous day’s calls emailed to you each day, then add the following entry to /etc/crontab after inserting your actual email address:

8 0 * * * root /root/cdrlog.sh | mail -s "Daily Call Log" yourname@gmail.com >/dev/null 2>&1


Trunk Failure Email Alerts. One of the most frequently requested scripts on the PIAF Forum has been a utility which would alert you when one of your Asterisk trunks has failed. So here you go. This script monitors SIP, IAX2, and Google Voice trunks and sends you an email whenever one or more of the trunks fails. Just download the script, insert your email address at the top of the script, and add an entry to /etc/crontab to check the trunks as often as desired. The default setting is every 5 minutes.

cd /root
wget http://pbxinaflash.com/trunkcheck.tar.gz
tar zxvf trunkcheck.tar.gz
nano -w trunkcheck.sh
echo "5 * * * * root /root/trunkcheck.sh > /dev/null 2>&1" >> /etc/crontab


MP3 Playback of Voicemails with Optional Transcription. And we have a bonus application for you as well. By default, Asterisk voicemails that are delivered to your email address won’t play back on many computers and smartphones. This script fixes that while also providing the option to transcribe the first 15 seconds of the message into text. We’ve only tested this with PIAF-Green with Asterisk 11, but it also should work just fine with Incredible PBX 11 for the Raspberry Pi. To install it, log into your server as root and issue the following commands. If you want to activate the transcription feature, edit the downloaded script and change transcribe=0 to transcribe=1.

cd /root
wget http://pbxinaflash.com/installmp3stt.sh
chmod +x installmp3stt.sh
./installmp3stt.sh

Once you have run the installation script, you’ll need to make a couple of adjustments in the FreePBX GUI. Log into FreePBX 2.11 and choose Settings, Voicemail Admin, Settings and make the following changes:

format: wav|wav49
mailcmd: /usr/sbin/sendmailmp3

Now leave yourself a voicemail message after making certain that you’ve entered an email delivery address for the extension. Enjoy and Happy Fourth!


Deals of the Week. There are a couple of amazing deals still on the street, but you’d better hurry. First, for new customers, Sangoma is offering a board of your choice from a very impressive list at 75% off. For details, see this thread on the PIAF Forum. Second, a new company called Copy.com is offering 20GB of free cloud storage with no restrictions on file size uploads (which are all too common with other free offers). Copy.com has free sync apps for Windows, Macs, and Linux systems. To take advantage of the offer, just click on our referral link here. We get 5GB of extra storage, too, which will help avoid another PIAF Forum disaster.

Originally published: Wednesday, June 26, 2013



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


 

Don’t miss the first-ever FreePBX World on August 27-28 at the Mandalay Bay in Las Vegas. For complete details, see this post on the FreePBX blog.


 


We are pleased to once again be able to offer Nerd Vittles’ readers a 20% discount on registration to attend this year’s 10th Anniversary AstriCon in Atlanta. And, if you hurry, you also can take advantage of the early bird registration discount. Here’s the Nerd Vittles Discount Code: AC13NERD.


 

Special Thanks to Our Generous Sponsors


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

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

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

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



Some Recent Nerd Vittles Articles of Interest…

The 5-Minute PBX: Incredible PBX 11 and Incredible Fax Get a Facelift

With the release of PBX in a Flash™ 2.0.6.4.4 last week, it seemed only fitting to reintroduce our one-click wonder that takes advantage of the latest and greatest feature sets in both Asterisk® 11 and FreePBX® 2.11. Incredible PBX™ 11 gives you the best of all worlds plus all of the very best, preconfigured Asterisk applications we could find. And the installer together with all of the apps are pure open source so you can learn how to build a system like this for yourself if that happens to be your thing. Installation is a breeze. Set up a new PBX in a Flash™ 2.0.6.4.4 server with PIAF-Green and FreePBX 2.11, download the Incredible PBX 11 installer, and five minutes later you’re ready to begin your VoIP adventure. And it’s all FREE!
 

News Flash: Incredible PBX 11 and Incredible Fax also are available for the $35 Raspberry Pi.

So what’s included? Dozens of upgraded Asterisk Apps. 9-Layer Security. 20 Preconfigured VoIP Provider Trunks. 1-Click Installers for Asterisk.everything. Certified Asterisk support. All-new Google Voice connectivity with Asterisk Motif. Voice-enabled SMS messaging and script-based SMS message blasting. Incredible PBX Automatic Update Utility. Incredible Fax™ 11 delivers free faxing with HylaFax™ and AvantFax®. And Incredible PBX and Incredible Fax are now GPL2-licensed.

The Incredible PBX 11 Inventory. For those that have never heard of The Incredible PBX, here’s the current 11.0 feature set in addition to the base install of PBX in a Flash with the CentOS 6.4, Asterisk 11, FreePBX 2.11, and Apache, SendMail, MySQL, PHP, phpMyAdmin, IPtables Linux firewall, Fail2Ban, and WebMin. Incredible Fax, NeoRouter and PPTP VPNs, and all sorts of backup solutions are still just one command away and may be installed using the scripts included with Incredible PBX 11 and PBX in a Flash. Type help-pbx and browse /root for dozens of one-click install scripts.

And then there’s the Incredible Freebie! As they say, "Never look a gift horse in the mouth." What began as a kludgey, dual-call, dual-provider Google Voice implementation to take advantage of Google’s free PSTN calling in the U.S. and Canada with Asterisk 1.4 and 1.6 is now a zippy-quick, Gtalk-based calling platform that rivals the best SIP-to-SIP calls on the planet. The Incredible PBX Google Voice implementation provides virtually instantaneous PSTN connections to almost anybody, anywhere. Trust us! Except for the price which is still free, you’ll never know you weren’t connected via Ma Bell’s overpriced long-distance lines and neither will the Little Mrs.

To get started, download the latest PBX in a Flash 2.0.6.4.4 ISO from SourceForge, burn to then boot from the PIAF2 CD, choose the PIAF-Green option to load Asterisk 11, and pick FreePBX 2.11 when prompted. Take a look at the PIAF Quick Start Guide for step-by-step installation instructions. Once the PIAF2 install is completed, just download and run the new Incredible PBX 11 installer.

A Few Words About Security. Thanks to its Zero Internet Footprint™ design, Incredible PBX is different. It remains the most secure Asterisk-based PBX around. What this means is The Incredible PBX has been engineered to sit safely behind a NAT-based, hardware firewall with no Internet port exposure to your actual server. For those needing remote telephone support, Incredible PBX optionally loads Travelin’ Man 2 and 3 for you so your IPtables Linux Firewall can be either self-managed by end-users or set up with predefined IP addresses and FQDNs for all of your remote sites. Read about this Asterisk SIP vulnerability. Then you’ll understand why WhiteList-based server security has become absolutely essential. WhiteList Security means only those devices with a registered IP address in your WhiteList can get to your server’s resources. To the NSA and everyone else, your server doesn’t even exist. Their only way to connect to you is with a POTS telephone and your published phone number. Can you hear me now?

For those with multiple servers to interconnect, we’ve provided one-click installers for not one but two VPN solutions: NeoRouter and PPTP. Suffice it to say, Incredible PBX has Security in Spades™: customized IPtables Linux Firewall, Fail2Ban tweaked for Asterisk security monitoring, FreePBX Extension Lockdown by IP address, randomized FreePBX extension passwords, Travelin’ Man 2 and 3 WhiteList Security, multiple VPN solutions for encrypted server-to-server communications, plus a bottom-up design focused on flawless operation behind a hardware-based firewall. You won’t find a more secure Personal Branch Exchange™ at any price.

Here’s the Incredible PBX 9-Layer Security Model:

Prerequisites. Here’s what we recommend to get started properly:

We’ve shifted gears on our recommended Atom platform for PIAF2 after excellent results with both the single-core and dual-core Atom kits manufactured by Foxconn (pictured on the left below). That’s the dLink Gaming Router on the right. Seems kinda silly to spend twice as much for a machine that you can build yourself in under 5 minutes. Basically you remove four screws, insert a Phillips screwdriver in one of the holes and gently pry the cover away from the box. Then you pop off the back by inserting a small flat-blade screwdriver, remove four more screws, slide in a solid-state drive (SSD) and a 4GB stick of notebook computer RAM, and you’re done in a couple minutes. Replace the screws and the cover, and you have a perfect PIAF2 platform with terrific performance and no moving parts for about $200. The link above will take you to the PIAF Forum thread for these machines. They go on sale almost weekly. See the right column of Nerd Vittles (just below our tweets) for this week’s special at Amazon. The dual-core Atom box typically is under $150. It could easily handle an office with 50+ employees sitting on a bookshelf with an Internet connection (wired or wireless!). No noise. Very little heat. Low power requirements. Perfect!

Installing Incredible PBX 11. The installation process is simple. Here are the 3 Easy Steps to Free Calling, and The Incredible PBX will be ready to receive and make free U.S./Canada calls immediately:

1. Install PIAF-Green with FreePBX 2.11 using PIAF2 ISO or PIAF-Green VM
2. Run Incredible PBX 11 installer
3. Configure Google Voice and a softphone or SIP phone

Configuring Google Voice. If you plan to use Google Voice, you’ll need a dedicated Google Voice account to support Incredible PBX 11. If you want to use the inbound fax capabilities of Incredible Fax 11, then you’ll need an additional Google Voice line that can be routed to the FAX custom destination using FreePBX. 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, and 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, be reasonable. Do it our way! Set up a dedicated Gmail and Google Voice account, and use it exclusively with Incredible PBX 11. It’s free at least through 2013. Google Voice no longer is by invitation only so, if you’re in the U.S. or have a friend that is, head over to the Google Voice site and register.

You must choose a telephone number (aka DID) for your new account, or Google Voice calling will not work… in either direction. Google used to permit outbound Gtalk calls using a fake CallerID, but that obviously led to abuse so it’s over! 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 2-digit 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 The Incredible PBX to work its magic! Otherwise, all inbound and 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.

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.

Incredible PBX 11 Installation. Log into your server as root and issue the following commands to run The Incredible PBX 4 installer:

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

Now have a quick cup of coffee while the installer works its magic. While you’re waiting just make sure that you’ve heeded our advice and installed your server behind a hardware-based firewall. No ports need to be opened on your firewall to support Incredible PBX. Leave it that way!

One final word of caution is in order regardless of your choice of providers: Do NOT use special characters in any provider passwords, or nothing will work!

[purehtml id=10]


FINAL STEPS. Once the Incredible PBX 11 install completes, there are two optional steps for those that will have remote phones or users outside your firewall. Install both Travelin’ Man 2 and 3 for an ultra-secure system.

Logging in to FreePBX 2.11. Using a web browser, you access the FreePBX GUI by pointing your browser to the IP address of Incredible PBX 11. Click on the Users tab. It will change to Admin. Now click the FreePBX Admin button. When prompted for a username, it’s maint. When prompted for the password, it’s whatever you set up as your maint password when you installed PBX in a Flash. If you forget it, you can always reset it by logging into your server as root and running passwd-master.

Configuring Google Voice Trunks in FreePBX. All trunk configurations now are managed within FreePBX, including Google Voice. This makes it easy to customize your Incredible PBX to meet your specific needs. If you plan to use Google Voice, here’s how to quickly configure one or more Google Voice trunks within FreePBX. After logging into FreePBX with your browser, click the Connectivity tab and choose Google Voice/Motif. To Add a new Google Voice account, just fill out the form. Do NOT check the third box or incoming calls will never ring!

While you’re still in FreePBX, choose Applications, Extensions, and click on the 701 extension. Write down your extension and voicemail passwords. You’ll need them to configure a phone in a minute.

IMPORTANT LAST STEP: Google Voice will not work unless you restart Asterisk from the Linux command line at this juncture. Using SSH, log into your server as root and issue the following command: amportal restart.

Incredible Fax 11 Installation. If you want the added convenience of having your Incredible PBX double as a free fax machine, run /root/incrediblefax11.sh after the Incredible PBX 4 install completes. Plug in your email address for delivery of incoming faxes and enter your home area code when prompted. For every other prompt, just press the Enter key. If you’d like to also add the optional OCR utility, just choose it when prompted. For complete documentation, see this Nerd Vittles article. Don’t forget that a REBOOT OF YOUR SERVER is required when the install is finished, or faxing won’t work! Then log in through the PIAF GUI using maint:password. You’ll find the AvantFax GUI on the Admin menu.

Also be sure to set up a second, dedicated Google Voice number if you want support for inbound faxing. Once the Google Voice credentials are configured in FreePBX for the additional Google Voice line, simply add an Inbound Route for this DID to point to the Custom Destination: Fax (Hylafax). This comes preconfigured with Incredible PBX 11.

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. 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 701, close the Account window. Then click on YATE’s Telephony Tab and place your first call. It’s that easy!

Incredible PBX Test Flight. The proof is in the pudding as they say. So let’s try two simple tests. First, let’s place an outbound call. Using the softphone, dial your 10-digit cellphone number. Google Voice should transparently connect you. Answer the call and make sure you can send and receive voice on both phones. Second, from another phone, call the Google Voice number that you’ve dedicated to The Incredible PBX. Your softphone should begin ringing shortly. The call will be answered by the Nerd Vittles sample IVR. You can explore all of the preconfigured options at your leisure.

Learn First. Explore Second. Even though the installation process has been completed, we strongly recommend you do some reading before you begin your VoIP adventure. VoIP PBX systems have become a favorite target of the hackers and crackers around the world and, unless you have an unlimited bank account, you need to take some time learning where the minefields are in today’s VoIP world. Start by reading our Primer on Asterisk Security. We’ve secured all of your passwords except your root password and your passwd-master password. We’re assuming you’ve put very secure passwords on those accounts as if your phone bill depended upon it. It does! There’s loads of additional documentation on the PBX in a Flash documentation web site.

Incredible PBX 11 Automatic Update Utility. With Incredible PBX 11, we’ve introduced a new automatic update utility to assist in keeping your system current and secure. It runs each time you log into your server as root. The first ten updates are at no cost. You then can elect to continue the service by subscribing to the update service which is available for a modest $20 for the remainder of calendar year 2013. Whether you subscribe or not, new releases of PBX in a Flash and Incredible PBX will always be free! This simply is a way for us to recover our costs in providing a service that many of our users have asked for. We hope you like it.

Choosing VoIP Providers. Nothing beats free when it comes to long distance calls. But nothing lasts forever. And, in the VoIP World, redundancy is dirt cheap. So we strongly recommend you set up another account with Vitelity using our special link below. This gives your PBX a secondary way to communicate with every telephone in the world, and it also gets you a second real phone number for your new system… so that people can call you. Here’s how it works. You pay Vitelity a deposit for phone service. They then will bill you $3.99 a month for your new phone number. This $3.99 also covers the cost of unlimited inbound calls (two at a time) delivered to your PBX for the month. For outbound calls, you pay by the minute and the cost is determined by where you’re calling. If you’re in the U.S., outbound calls to anywhere in the U.S. are a little over a penny a minute. If you change your mind about Vitelity and want a refund of the balance in your account, all you have to do is ask. The trunks for Vitelity already are preconfigured with The Incredible PBX. Just insert your credentials using FreePBX and uncheck the Disable Trunk checkbox. Then add the Vitelity trunk as the third destination for your default outbound route. That’s it. Congratulations! You now have a totally redundant phone system.

Incredible PBX 11 includes preconfigured trunk setups for all of your favorite trunk providers. Just plug in your credentials and activate the trunks you need. In less than a minute, you’re done. Here’s the Incredible PBX Top 20 Trunk List with some reasons why these providers made our short list:

  • AxVoice ($14.99/mo. Business Plan; $16.58/mo. Unlimited Calls to 45 Countries)
  • CallCentric (Good International Calling Rates)
  • DIDforSale (20 channels per DID; unlimited DID calls for $8.99/mo.)
  • ENUM
  • FlowRoute (Good International Calling Rates)
  • FreeNum
  • Future-Nine (Supports CallerID Spoofing)
  • Google Voice (Free DIDs and free U.S./Canada calling)
  • IPkall (Free SIP/IAX DIDs)
  • Les.net (Supports CallerID Spoofing; very low rates)
  • LocalPhone (Dirt-cheap DIDs and calling rates worldwide; Free iNum DID)
  • Simon Telephonics (Free SIP-to-GoogleVoice Gateway)
  • SIPgate (Free residential DIDs sometimes)
  • Skype (Free Skype-to-Skype calls worldwide)
  • Teliax (Unlimited inbound DID $5/mo.)
  • Vitelity (Our supporter and the Best in the Business!)
  • VoIPms (CallerID spoofing; Free iNum calling; Very low rates)
  • VoIPMyWay (Residential Unlimited: $15.50/mo. Business Unlimited: $40/mo.)
  • VoIPStreet (Free DID)

Configuring Email. You’re going to want to be notified when updates are available for FreePBX, and you may also want notifications when new voicemails arrive. Everything already is set up for you except actually entering your email notification address. Using a web browser, open the FreePBX GUI by pointing your browser to the IP address of your Incredible PBX. Then click Administration and choose FreePBX. To set your email address for FreePBX updates, go to Admin -> Module Admin and click on the shield on the right margin. To configure emails to notify you of incoming voicemails, go to Applications -> Extensions -> 701 and scroll to the bottom of the screen. Then follow your nose. Be sure to reload FreePBX when prompted after saving your changes.

A Final Word About Security. In case you couldn’t tell, security matters to us, and it should matter to you. Not only is the safety of your system at stake but also your wallet and the safety of other folks’ systems. Unless you subscribe to the new Automatic Update Utility, our only means of alerting you to security issues which arise is through the RSS Feed that we maintain for the PBX in a Flash project. This feed is prominently displayed in the web GUI which you can access with any browser pointed to the IP address of your server. Check It Daily! Or add our RSS Feed to your favorite RSS Reader. We also recommend you follow @NerdUno on Twitter. We’ll keep you entertained and provide immediate notification of security problems that we hear about. Finally, visit the PIAF Forums regularly. You’ll be surprised what you can learn in 10 minutes of browsing. Be safe!

Kicking the Tires. OK. That’s enough tutorial for today. Let’s play. Using your new softphone, begin your adventure by dialing these extensions:

  • D-E-M-O – Incredible PBX Demo (running on your PBX)
  • T-I-D-E – Get today’s tides and lunar schedule for any U.S. port
  • 4-1-1 – Phonebook lookup/dialer with AsteriDex
  • C-O-N-F – Set up a MeetMe Conference on the fly (PIN: 1234)
  • 1-2-3 – Schedule regular/recurring reminder (PW: 12345678)
  • 2-2-2 – ODBC/Timeclock Lookup Demo (Empl No: 12345)
  • 2-2-3 – ODBC/AsteriDex Lookup Demo (Code: AME)
  • 3-3-3 – Look up a definition for any word or term
  • 9-4-9 – Weather forecast for any city in the world
  • 9-5-0 – Retrieve stock report by stock symbol
  • 9-5-1 – Latest Google News headlines
  • Dial *68 – Schedule a hotel-style wakeup call from any extension

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.

Deals of the Week. There are a couple of amazing deals still on the street, but you’d better hurry. First, for new customers, Sangoma is offering a board of your choice from a very impressive list at 75% off. For details, see this thread on the PIAF Forum. Second, a new company called Copy.com is offering 20GB of free cloud storage with no restrictions on file size uploads (which are all too common with other free offers). Copy.com has free sync apps for Windows, Macs, and Linux systems. To take advantage of the offer, just click on our referral link here. We get 5GB of extra storage, too, which will help avoid another PIAF Forum disaster.

Originally published: Tuesday, June 18, 2013



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


 

Don’t miss the first-ever FreePBX World on August 27-28 at the Mandalay Bay in Las Vegas. For complete details, see this post on the FreePBX blog.


 


We are pleased to once again be able to offer Nerd Vittles’ readers a 20% discount on registration to attend this year’s 10th Anniversary AstriCon in Atlanta. And, if you hurry, you also can take advantage of the early bird registration discount. Here’s the Nerd Vittles Discount Code: AC13NERD.


 

Special Thanks to Our Generous Sponsors


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

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

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

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



Some Recent Nerd Vittles Articles of Interest…

Here We Go Again: Getting Ready for the Next Google Voice Train Wreck


Self-inflicted wounds are nothing new in the technology business, but Google spent much of last week working hard to take top honors for what is clearly one of the most selfish and short-sighted moves ever in the telecommunications marketplace. Less than a week after extolling the values of open source technology during Google I/O 20131, Google wasted little time performing a complete 180 by deep sixing further support of the open source XMPP protocol for messaging and VoIP communications. With one brief announcement, Google basically killed off years of Google Voice development and announced the upcoming demise of Google Voice, XMPP, and Jabber messaging as we know it. Never mind that literally millions of users have come to rely upon Google Voice and XMPP messaging as their primary sources of communications. Google now has declared XMPP too confining for their view of what the telecommunications world really needs. Instead, we get yet another proprietary communications protocol. So much for the Do No Evil ethos. With classic pot calling the kettle black ire, one of Microsoft’s leading cheerleaders wasted little time condemning the move.

So why the sudden change of heart at Google? Well, it had nothing to do with the needs of Google customers obviously. In the old days, Google at least labeled projects as beta (for years) to warn you that something might happen down the road, good or bad. That era is over. Now the carnage happens almost randomly. Remember Google knols? It was perhaps the greatest collection of medical and technical literature of all time. Poof! All gone. We won’t go through the entire litany. Suffice it to say, this is nothing new for Google. Every company is entitled to its New Coke moment. Google has had more than its fair share, and it should serve as a wakeup call to organizations and individuals that reliance upon Google infrastructure is a really bad idea.

The current train wreck turns out to be yet another turf war motivated by retribution against Microsoft’s recent decision to support XMPP in its Outlook.com unified messaging product, something most companies would have greeted with jubilation. Instead, Google is miffed that Microsoft was now supporting its messaging protocol while continuing to keep its own protocol proprietary. That meant Microsoft cellphones could chat with Android phones but not the other way around. The moral of the story for consumers is pretty simple. Don’t for a minute assume that any technology company has your best interests at heart. None of them do. It’s all about money and industry domination. Google viewed this as a brazen attempt by Microsoft to create a messaging platform that could speak Android while continuing to restrict access to the Microsoft messaging installed base. And Google chose to pick up its marbles and go home rather than hand Microsoft easy access to hundreds of millions of Android cellphone users. So we’re back to handing the Bell Sisters the unified messaging monopoly with SMS and MMS as the lowest common denominator. Welcome to Big Business!

What does all of this have to do with Google Voice? Well, it rides along on the same messaging platform as Google Talk, Microsoft Lync, and XMPP/Jabber-based solutions including Asterisk, FreeSwitch, Yate, Cisco Jabber, Openfire, and Avaya in addition to all of the Google Voice-compatible softphones and OBiHai devices. So expect a train wreck!

We’re all about VoIP communications so we’ll leave the cellphone messaging for others to sort out. The important question for those of us that depend upon Google Voice for VoIP communications is what can you do to insulate yourself from the upcoming disaster. You can bury your head in the sand and pretend this isn’t going to happen, and you’d be dead wrong for the reasons we’ve outlined above. And, remember, Google has served clear notice that XMPP is over as far as they are concerned unless Microsoft, Apple, and now Facebook blink. Of course, Google could always redeploy SIP for Google Voice calling. If you think any of that is likely to happen, you also might want to buy a lottery ticket which affords you about the same chance of seeing any of your dreams come true.

To keep things simple, let’s divide VoIP communications into four categories: inbound calling, outbound calling, messaging, and faxing. We’ll leave video for another day only because it remains a niche product. With the demise of Google Voice, we recommend not putting all of your eggs in one basket (again). Inbound calling is the most critical. That’s your phone number, and it’s how folks get in touch with you. If there are numbers (DIDs) that you don’t want to lose, now is the time to move them away from Google Voice before it’s too late. If Google elects to shut down Google Voice, your ability to port your numbers elsewhere is OVER! So don’t procrastinate on this one. Luckily, Vitelity (one of the primary supporters of Nerd Vittles and the PBX in a Flash projects) has provided an incredible deal to our fan club for many, many years. For $3.95 a month you get a DID with unlimited inbound calls. It’s not free, but it’s not expensive either. And the call quality and service reliability are as good or better than anyone else in the business. You can read all about the offer at the end of this article. Google charges $3 to port your number out of Google Voice to a new provider. The step-by-step tutorial is available in the PIAF Forum. Do it while you still can!

For outbound calling (terminations), the thought process is different. Unlike traditional analog telephony, there is no reason not to have multiple providers especially if you’re using Asterisk, PBX in a Flash, or Incredible PBX as your communications server. If one outbound path fails, your server can automatically send the calls out through another call path. So continue to cling to your Google Voice dream for outbound calling if you’re a Believer. But do a little advance planning while there’s no crisis. There are numerous termination providers and generally you get what you’re willing to pay for. If cheap is your primary objective and call quality is secondary, then Anveo Direct and VoIP.ms can’t be beat. Both allow you to spoof your CallerID to match a DID that you own so they work well with a service such as Vitelity that is being used to handle your inbound calls. We’ve written about both of them, and we use both of them with excellent results. There are many, many others. Visit the PIAF Forum for lots of additional recommendations.

SMS messaging is an evolving technology in the VoIP marketplace. Expect to see some terrific new services before the summer is over. If you’re in a hurry, the easiest current solution to implement is through Anveo Direct. Our recent article will walk you through the setup process to send and receive SMS messages with Asterisk.

Faxing remains a crap shoot using VoIP technology. If you want commercial quality, then choose one of Vitelity’s dedicated fax circuits. If you want analog faxing that usually works, then Anveo Direct and VoIP.ms are about as good as you can do. All versions of Incredible PBX for PBX in a Flash include a free faxing solution using the HylaFax/ AvantFax platform. A similar solution is provided on the Raspberry Pi platform. As we said, it’s not perfect but it usually works.

Continue reading Part II: Google Puts the Final Nail in the Google Voice Coffin

Originally published: Monday, June 3, 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 for all of us.



 

Special Thanks to Our Generous Sponsors


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

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

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

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



Some Recent Nerd Vittles Articles of Interest…

  1. Larry Page reportedly commented as follows: "I’ve personally been quite sad at the industry’s behavior around all these things. If you take something as simple as IM, we’ve had an open offer to interoperate forever. Just this week Microsoft took advantage of that by interoperating with us but not doing the reverse. Which is really sad and not the way to make progress. You can’t have people milking off of just one company for their own benefit…" []