Posts tagged: Telephony

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.


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


Some Recent Nerd Vittles Articles of Interest…

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

If You Won’t Eat Your Own Dog Food, At Least Taste It

Dinner Time photo courtesy of April Turner

The last few weeks have certainly reinforced the notion that one should never ASS-U-ME anything unless you’re willing to learn the hard way when things go south. We’ve also uncovered a new twist to the Golden Rule: “He who has the gold makes the rules.” In the Digium®-centric Asterisk® world, it goes something like this. When life is good, we reserve the right to cash in on the proceeds. When things go wrong, the Asterisk community needs to do better testing. It’s a free product, and you get what you pay for.

We wish we could say that our suggestion that Digium eat its own dog food before releasing new Asterisk versions to the public was well received. Quite the contrary, and we probably should have learned several years ago about the tenor of responses one could expect when suggestions were made to change the Digium Way of doing things. In the previous case, we had suggested that altering dialplan syntax and punctuation between Asterisk versions was counter-productive because it broke almost every existing Asterisk application. That was sloughed off as being someone else’s problem since the Digium developers could not possibly anticipate all of the problems that would be caused by changing verbs and syntax in the dialplan.

Think of what would happen if you moved the location of the brake pedal on every new car, and you get some idea of the scope of the problem for Asterisk application developers, assuming you still can find the ones that wrote your company’s application.

Testing Methodology… NOT! With the release of Asterisk 1.8.4, we suddenly encountered a new can of worms. Virtually all Cisco SIP and Polycom TLS phones no longer worked. Keep in mind that this is the only “fully supported” (whatever that means) version of Asterisk that is still available. In the case of the Cisco phones, Digium managers claimed that they didn’t have every piece of equipment on the planet so it wasn’t their fault. In the case of Polycom, it turned out that Digium’s multi-million dollar headquarters reportedly is chock full of Polycom phones, but they’re all plugged into a commercial PBX that didn’t have the problems engineered into Asterisk 1.8.4.

That brings us to the Hobson’s Choice now facing existing and would-be Asterisk users. Wouldn’t you think that a company that profits enormously off hardware and software sales because of their “free” Asterisk product would have some rudimentary test lab in place with a dozen or two phones from the major VoIP manufacturers so that new releases could be checked out before the production-ready release is distributed? Well, apparently not. Kinda reminds us of an old Huntsville comment about the Apollo moon missions. Would you want to fly to the moon in a spacecraft built by the lowest bidder? For Huntsville’s Digium Corporation, the question might be phrased a little differently. Why would any organization want to stake its livelihood on an untested Asterisk PBX?

Does free really matter if your phones don’t work?1

As one of Asterisk’s primary cheerleaders for many, many years, this latest revelation that there is an almost complete lack of testing before production versions of Asterisk are released is disappointing to us not to mention incredibly short-sighted on Digium’s part. Since Digium appears unwilling to actually use their own product internally, we’d like to propose a dog food alternative.

Photo courtesy of Tom Keating. Click on the photo for a tour.

First, instead of more leather chairs for the new Digium headquarters2, how about a 200 square foot test lab in the attic with a few $250 Atom-based PCs and a couple of under $1,000 Dell servers running Proxmox and VMware virtual machines with a couple dozen flavors of Asterisk. Then add a dozen SIP phones from the leading VoIP providers as well as a few of the leading ATAs. $5,000 would easily cover the total cost of the lab. How do we know? Well, the PBX in a Flash Dev Team (with no VC funding) has had a similar setup in two locations for years. We even do testing for outside organizations from time to time. :-)

Make Lemonade Out of Lemons. Better yet, if we were king, the testing facility would be moved front and center to the first floor behind a glass showcase so that every visitor could see that Digium was just as serious about testing its products as it was about its revenue-generating training room and its foosball table. Click on Tom Keating’s photo of the Digium facility for the corporate tour. Testing is a matter of corporate pride in most organizations, not something to be ashamed of… unless you don’t happen to do much of it. Indeed, the comments we’ve received from Paul Belanger suggest that at least some of the Digium folks have their hearts in the right place about all of this. And, just because some Asterisk developers are not on the corporate payroll, the buck clearly stops with Digium, The Asterisk Company, to make certain that the Asterisk product is rock-solid reliable before it goes out the door.

Second, build a checklist of functions that must pass muster before any new Asterisk version is released. Ever heard of a Digium card that didn’t work with a new Asterisk release? Didn’t think so. We’re guessing this is something more than coincidence. The overall software reliability of Asterisk affects Digium’s bottom line just like hardware reliability even if the software product is touted as being free. Digium profits from Asterisk hardware sales, Asterisk consulting, Asterisk training, Asterisk conventions, Asterisk support, and numerous Asterisk software add-ons that cost money. If the reliability of Asterisk goes down the tubes, so goes the commercial side of Digium’s business as well.

Third, don’t depend solely upon software-driven tests in checking out new releases. Nothing beats a human at the controls for a day to give new software a proper workout. Make calls from every phone to every other phone on the same and on a different network to verify call quality and reliability. Then do the same thing using POTS phones connected to ATAs. When all of that works, move on to a short list of major Asterisk features to make sure they remain stable. Sounds simple, doesn’t it? It is. We do it regularly with no profit motive at all. Here’s our short list of two dozen deal-breakers, and our readers can probably suggest a couple dozen more. We’ll add them to the list as they arrive. If you don’t want to design a system for testing, then feel free to use The Incredible PBX with our compliments. All of these turnkey features are available out of the chute, and you can install it from a thumb drive on almost any hardware.

Text-to-Speech Apps
Conferencing
Music on Hold
Call Transfers
Call Forwarding
Call Waiting
Call Pickup
Call Recording
Call Parking
Do Not Disturb
Voicemail
Caller ID
IVR Samples
Faxing
Video Calls
Queues
Ring Groups
Zap Barge
Intercom
AGI Scripts
Google Talk/Jabber/Jingle
SIP Server Connectivity
IAX Server Connectivity
VPN Server Connectivity

Here’s hoping that we all get something positive back from Digium management this time around. Hopefully, they’ll realize before it’s too late that their future really does depend upon a reliable Asterisk product. And, no, we’re not going to print any response suggesting that users turn back to Asterisk 1.4 and 1.6.2 when Digium and the Asterisk developers are on record as being unwilling to address a bug such as the one that occurred in Asterisk 1.8.4 if instead it had arisen in either of the older versions of Asterisk that are barely on life support.

Every organization has defining moments. This is an important one for Digium. Take responsibility for the quality of your product! And, rather than focusing upon whether to call the next version of Asterisk 1.10 or 2.0, spend the necessary time and money to get the Asterisk 1.8 house in order. Otherwise, the VC-funded office building may belong to another fish in the growing sea of VoIP providers one day soon. It’s worth remembering that Digital Research of CP/M fame3 as well as WordStar, Ashton-Tate, Lotus, and WordPerfect all were household names and seemingly invincible software development houses once upon a time. History has a way of repeating itself. Wonder why?

Continue reading Part I, Part III, and Part IV

Originally published: Wednesday, June 1, 2011



Changes in PBX in a Flash Distribution. In light of the events outlined in our recent Nerd Vittles article and the issues with Asterisk 1.8.4, the PIAF Dev Team has made some changes in our distribution methodology. As many of you know, PBX in a Flash is the only distribution that compiles Asterisk from source code during the install. This has provided us enormous flexibility to distribute new releases with the latest Asterisk code. Unfortunately, Asterisk 1.8 is still a work in progress to put it charitably. We also feel some responsibility to insulate our users from show-stopping Asterisk releases. Going forward, the plan is to reserve the PIAF-Purple default install for the most stable version of Asterisk 1.8. As of June 1, Asterisk 1.8.4.1 is the new PIAF-Purple default install. Other versions of Asterisk 1.8 (newer and older) will be available through a new configuration utility which now is incorporated into the PIAF 1.7.5.6.2 ISO.

Here’s how it works. Begin the install of a new PIAF system in the usual way by booting from your USB flash drive and pressing Enter to load the most current version of CentOS 5.6. When the CentOS install finishes, your system will reboot. Accept the license agreement, and choose the PIAF-Purple option to load the latest stable version of Asterisk 1.8. Or exit to the Linux CLI if you want a different version. Log into CentOS as root. Then issue a command like this: piafdl -p beta_1842 (loads Asterisk 1.8.4.2), piafdl -p beta_1841 (loads Asterisk 1.8.4.1), piafdl -p 184 (loads Asterisk 1.8.4), piafdl -p 1833 (loads Asterisk 1.8.3.3), or piafdl -p 1832 (loads Asterisk 1.8.3.2). If there should ever be an outage on one of the PBX in a Flash mirrors, you can optionally choose a different mirror for the payload download by adding piafdl -c for the .com site, piafdl -d for the .org site, or piafdl -e for the .net site. Then add the payload switch, e.g. piafdl -c -p beta_1842.

Bottom Line: If you use the piafdl utility to choose a particular version of Asterisk 1.8, you are making a conscious decision to accept the consequences of your particular choice. We would have preferred implementation of a testing methodology at Digium before distribution of new Asterisk releases; however, that doesn’t appear to be in the cards. So, as new Asterisk 1.8 releases hit the street, they will be made available through the piafdl utility until such time as our PIAF Pioneers independently establish their reliability.




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


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


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


Some Recent Nerd Vittles Articles of Interest…

  1. There’s been a lively debate about all of this in the Comments to the original article and on the PIAF Forum and the FreePBX Forum, three eyeopeners you won’t want to miss. []
  2. Digium HQ photo courtesy of Tom Keating. Click on the photo for a tour. []
  3. Gary Kildall flew his own airplane, too. He reportedly was off on a flying adventure while Bill Gates was meeting with IBM to seal the DOS deal. The rest, as they say, is history. []

Samsung Galaxy Tab: The Good, The Bad, and The Ugly

Photo courtesy of Samsung

We purchased AT&T’s U.S. edition of Samsung’s Galaxy Tab on the release date in November, 2010. It’s been a wild ride ever since. First, the good news. Steve Jobs is dead wrong. A 7″ tablet is far from being DOA. In fact, the Galaxy Tab is the ideal form factor for a business person that wears a suit, sport coat, or jacket. The device fits perfectly in almost all coat pockets. Unlike the iPad, you can hold the Galaxy Tab in one hand rather than balancing the device between your knees. The screen is dazzling. Performance is respectable, Flash works reliably, two cameras are included (even though no app yet uses the front-facing camera), and at least so far, the SIM chip in your AT&T iPad is interchangeable with the AT&T Galaxy Tab using a $2 Micro SIM to SIM card adapter. So all of the shortcomings of the iPad have been addressed. With more than 200,000 apps in Google’s Market, you now can find comparable applications to most that are available for the iPad. And, while the Android apps weren’t specifically designed for a tablet, we never noticed. This contrasts dramatically with the half-baked iPhone/iPad app conversions that Apple attempted to pull off.

Photo courtesy of Samsung

With Android’s open platform and near perfect hardware, what could possibly be wrong with this device? Well, just about everything unfortunately. Between Google, Samsung, and AT&T (and we assume the other U.S. oligopolists aren’t far behind), the device has been crippled in just about every possible way. Not only is the tablet locked to the specific carrier even though you paid full retail ($700+) for the unit, but cell phone usage also is blocked by all four U.S. carriers. No collusion, of course. :roll: This functionality is available on all European models. Fortunately, for those in the U.S., Bria for Android will let you make SIP phone calls using any SIP provider you wish to use.

To add insult to injury, applications for the device are locked down to only apps available in the Google Market. This means, for example, that you cannot load thousands of tech books available in .apk format from O’Reilly. More importantly, you can’t restore your device from a backup. And, yes, Google has been quick to respond to requests to remove any apps that would let you root or tether the device. All of this might be understandable if AT&T offered an unlimited data plan and had to worry about users eating up their precious bandwidth. You may recall that AT&T’s only unlimited data plan offering lasted less than a week with the iPad. But AT&T now charges for Internet service on a pay-as-you-go basis. So there’s really no rational explanation for crippling the device for which you paid full retail and which you own.

While you still can root the device with a little creativity, flipping the setting to permit downloads of non-market apps using the latest Samsung firmware now bricks the unit since Samsung has added a checksum to the configuration file.

It would be easy to blame AT&T for being evil. They seem to regard it as a badge of honor. But Samsung and Google have aided and abetted the carriers’ wishes enthusiastically, albeit secretly. In fact, Samsung reportedly will announce the Galaxy Tab II this week at the Consumer Electronics Show with checksummed firmware that will take device crippling to new lows, far beyond what Apple has been willing to do on the iPad platform. In other words, you can kiss custom ROMs goodbye on Samsung’s “open” Android platform. For all of these reasons, AT&T’s device wins our 2010 Award as the Most Crippled Device of the Year, with dishonorable mentions to both Samsung and Google.

Fortunately, U.S. consumers have a choice. Just refuse to buy any more of this junk until the carriers and manufacturers clean up their act. We really could love this device, and it’s puzzling why the carriers and the manufacturer and Google feel compelled to cripple these devices in the U.S. market when all four of the major service providers offer the same device at the same price with the same (crippled) feature set. It’s almost like it’s part of their DNA to cripple everything they sell that has their name on it. Little wonder that folks are looking elsewhere to purchase new technology.

The other sad reality is that the technical writers in the U.S. for the most part roll over and play dead with these companies in order to secure the latest story and to get the free pass to the Vegas tea parties to yuck it up with their pals. And, of course, for some there are still loads of free toys. It’s easy to find glowing reviews of the Galaxy Tab from so-called pundits, but just try to find an article laying out what we’ve documented. We’re not tooting our own horn here, just wondering why folks that get paid for reviewing these products as their livelihood don’t do their homework instead of regurgitating manufacturer press releases. Unfortunately, it’s much the same reason that all of the cell phone companies are so chummy and cookie cutter comparable.

We couldn’t end this disappointing review without a word about Samsung’s service operation. Apple it’s not! A week after purchasing our device, we accidentally dropped it down a flight of brick steps. HINT: Buy a case. It’s too bulky to hold in one hand while you’re walking unless you have hands the size of Seinfeld’s old girlfriend. One-handed operation works fine sitting in a chair. If you’ve ever seen what a baseball can do to a plate glass window, then you have a pretty good image of what our Galaxy Tab looked like. The device still worked perfectly if you didn’t mind slicing your finger. That was Thanksgiving Day. Three weeks later we still were arguing with the Samsung Repair Facility in Texas which insisted that the IMEI number of their own device wasn’t in their computer system. Thus, they refused to repair it even though we were willing to pay for the repair. After dozens of calls, we finally reached the head of Samsung USA service who managed to manually enter the IMEI into the system so that we could get a quote on the repair. Samsung has only sold a million units. Wouldn’t you think someone might have thought about repairs? Incidentally, the cost was $170 including shipping in both directions which we thought was quite reasonable. And a week later the device arrived with a new screen AND the new crippled firmware which everyone else will get to enjoy shortly.

As for us, thanks to a law degree, it’s only a quick trip to the courthouse next week to drag Samsung into court to explain why they erased our device and installed newly improved crippleware rather than simply replacing the screen which we contracted with Samsung to repair. We’ll keep you posted.

Our Bottom Line for those that haven’t been to law school: JUST SAY NO!

Originally published: Monday, January 3, 2011




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


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


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


Some Recent Nerd Vittles Articles of Interest…

It’s TeleYapper 5.0: The Ultimate RoboDialer for Asterisk

We don't normally take a month off at Nerd Vittles which should tell you something about today's 10/10/10 column. We're pleased to introduce TeleYapper 5.0, a completely rewritten, Asterisk® 1.4 and 1.6.2-compatible version of our telephone broadcasting service.1 Using Cepstral text-to-speech, TeleYapper 5.0 brings individualized, text-based messaging and customized reminders coupled with the ability to capture recorded responses from every call.

WARNING: Because of changes in Cepstral, this application now requires an additional $200 license from Cepstral. We no longer recommend Cepstral for obvious reasons and will have a comparable system using Google's new Speech-to-Text application soon. Our apologies.

As part of the message delivery process, you now can customize and capture any one of four different responses from those that are called. And TeleYapper 5.0 will email you a CSV and/or XML file with the RoboResponse™ results when the calling process is completed including a list of failed calls and calls that were answered by an answering machine. In addition, you can have TeleYapper email certain call results to various individuals as the calls are processed if your requirements demand it.

For those with multiple outbound trunks, TeleYapper 5.0 supports simultaneous calls using multiple trunks. And now there are significant enhancements that detect answering machines and real people. This lets you deliver customized messages depending upon whether an actual human answers the phone.

Version 5 has been tested extensively with the Gold, Silver, and Bronze editions of PBX in a Flash 1.7.5.5, which provides support for the latest and greatest versions of Asterisk 1.4 and 1.6.2. And it should work well with other Asterisk aggregations with MySQL, Cepstral TTS support, and FreePBX 2.5 or later.

Overview. For those that have never used TeleYapper, here's a quick summary of how the new version works. It's an automated message broadcasting service commonly known as a call blasting or phone blasting system. In addition to loads of creepy uses, phone blasting has legitimate purposes as well. TeleYapper is licensed in several different ways for the following purposes: prerecorded phone messages for neighborhood association announcements, medical appointment reminders, school closings, tornado alerts, little league practices, municipal government reminders. It's free to use for non-profit, civic, and non-political purposes provided you don't solicit money or seek to sway someone's opinion or encourage a particular vote on an issue or candidate. All other uses require a commercial license. For commercial, political, and medical applications, please review our licensing terms below.

How it Works. Step #1 is to create a CSV or XML export from your favorite database application with the information that will be used to send the messages or reminders. This could be as simple as a list of phone numbers or as complex as a listing of doctors and patients with the dates, times, and places of their next medical appointments together with special patient instructions for activity preceding their visit, e.g. "Please remember to start flossing a month before your next dental appointment."

Step #2 is to create a config file with the robodial settings as well as the text which will actually be spoken during each customized call. If you remember form letters from your word processing days, TeleYapper's config file offers the same flexibility. A message can be as simple as "Take cover immediately. A tornado has been spotted at the end of your street." Or it could be a medical appointment reminder such as the following:

Hi. This is Allison from Charleston Family Clinic calling to confirm Jan's appointment with Doctor Quack on Tuesday, October 5th, 2010, at 10:30 a.m. in our Charleston office. Please remember not to eat or drink anything after midnight on the night before your scheduled appointment.

To confirm your appointment, press 1. To reschedule your appointment, press 2. To cancel your appointment, press 3. If we have reached you in error or if you do not wish to receive further automated medical appointment reminders, press 4. To hear this message again, please press 5 now.

And you can create a separate message which would be delivered in the event an answering machine takes the call:

Hi. This is Allison from Charleston Family Clinic calling to confirm Jan's appointment with Doctor Quack on Tuesday, October 5th, 2010, at 10:30 a.m. in our Charleston office. Please remember not to eat or drink anything after midnight on the night before your scheduled appointment.

If you need to change or cancel your appointment or if we have reached you in error, please call our office at your earliest convenience. The number is 800-123-4567. Goodbye.

Step #3 is to use your web browser to access a password-protected web page that will let you upload your CSV or XML data and your config file to kick off the dialing spree. Once the files have been uploaded, everything else is automatic.

Step #4 is to sit back and relax while TeleYapper executes your instructions and calling list. When the calling has been completed, the email address in your config file will be sent both CSV and XML reports of the results of all the calls. Either of these reports is suitable for import and manipulation using most spreadsheet applications.

Status Codes. Every call that is processed gets a status code entry whether the call is successful or fails. A status code of 0 means a call failed to both phone numbers provided for a particular callee. The second phone number is entirely optional. A status code of 5 means the call was answered but no response was provided by the called party. This typically would mean the call was picked up by an answering machine although it could mean Granny answered the call using a rotary dial phone. :roll: Status codes of 1 through 4 have whatever meaning you choose to assign to each option when setting up a configuration for a particular calling campaign.

Legalese. TeleYapper 5.0 is free for use by non-profit, civic, and non-political organizations provided you absolve us from all financial and other responsibility in conjunction with your use of the software. Non-profit use further requires that no financial benefit be derived from the substance of the calls. Simply stated, your Little League team can use the software at no cost to remind kids to attend practice, but it cannot be used to solicit charitable contributions or to sell doughnuts without obtaining a commercial license.

By using this software, you also agree to strictly comply with federal and state regulations including 16 C.F.R. Part 310. In addition, you agree to assume all risks associated with use of the software. NO WARRANTIES EXPRESS OR IMPLIED INCLUDING ITS FITNESS FOR USE OR MERCHANTABILITY ARE PROVIDED WITH THIS SOFTWARE.

WARNING: With certain limited exceptions, most robocalling now requires prior written approval from those being called. See this link for a summary of the federal requirements. Be advised that improper use of this software may subject the user to penalties of up to $16,000 per call plus monetary damages to injured consumers.

Creative Commons LicenseLicensing. You are licensed to use this software under certain conditions. You do not own it. We do, and we also own the copyright. It is licensed for use under the terms of the Creative Commons Attribution Non-Commercial license. A Plain English summary is available here. We've done this primarily to do our part to stamp out the telemarketing creeps of the world. Those wishing to use TeleYapper for commercial or political purposes must first request and then purchase a commercial license after outlining your proposed terms of use. Telemarketers need not apply! For doctors, lawyers, and others falling outside the scope of our free license who wish to obtain a commercial use license, please contact us for pricing and details. Be sure to summarize your intended use in your request together with a sufficient factual summary to demonstrate that your use is in compliance with 16 C.F.R. Part 310. Please also indicate whether you will require assistance with installation and setup.

Prerequisites. As mentioned, you'll need a Linux-based Asterisk aggregation such as PBX in a Flash to use TeleYapper 5.0. This means you need a system with Asterisk 1.4 or 1.6 as well as FreePBX 2.5 or higher. For quality reasons, we strongly recommend you purchase a commercial Cepstral text-to-speech license for your server. While Flite would technically work, most folks don't respond well to calls from Egor so we have customized the code for use solely with Cepstral. You'll find Cepstral installation instructions in this Nerd Vittles article. The TeleYapper 5.0 code also relies heavily on Apache and PHP, both of which are included in every PBX in a Flash system.

Installing Cepstral. Cepstral installation is not the simplest application to get working with Asterisk so here are the commands for those running 32-bit systems with Asterisk 1.4 or 1.6.2. For details on purchasing and registering Cepstral (and a discount) and for 64-bit installs, read our previous article including the comments.

For Asterisk 1.4 systems running under 32-bit CentOS, log into your server as root and issue the following commands accepting the Cepstral defaults. Be sure to create the Cepstral directory when prompted!

cd /root
wget http://nerd.bz/bnTVjX
tar -zxvf Cepstral*
cd Cepstral_Allison-8kHz_i386-linux_5.1.0
./install.sh
echo /opt/swift/lib > /etc/ld.so.conf.d/cepstral.conf
ldconfig
cd /usr/src
wget http://pbxinaflash.net/source/app_swift/app_swift-1.4.2.tar.gz
tar -zxvf app_swift*
cd app_swift-1.4.2
make
make install
ln -s /opt/swift/bin/swift /usr/bin/swift
sed -i 's|David-8kHz|Allison-8kHz|' /etc/asterisk/swift.conf
amportal restart
asterisk -rx "core show application swift"
ls /opt/swift/voices
swift --reg-voice

For Asterisk 1.6.2 systems running under 32-bit CentOS, log into your server as root and issue the following commands accepting the Cepstral defaults. Be sure to create the Cepstral directory when prompted!

cd /root
wget http://nerd.bz/bnTVjX
tar -zxvf Cepstral*
cd Cepstral_Allison-8kHz_i386-linux_5.1.0
./install.sh
echo /opt/swift/lib > /etc/ld.so.conf.d/cepstral.conf
ldconfig
cd /usr/src
wget http://pbxinaflash.net/source/app_swift/app_swift-1.6.2.tar.gz
tar -zxvf app_swift*
cd app_swift-1.6.2
make
make install
ln -s /opt/swift/bin/swift /usr/bin/swift
sed -i 's|David-8kHz|Allison-8kHz|' /etc/asterisk/swift.conf
amportal restart
asterisk -rx "core show application swift"
ls /opt/swift/voices
swift --reg-voice

Installing TeleYapper 5.0 The real beauty of PBX in a Flash as an Asterisk platform is demonstrated by the ease with which you can install new applications such as this one. The drill is very simple. You download an install script, make it executable, and run it. Less than a minute later, the TeleYapper install is done. Here are the commands to execute to install TeleYapper 5.0 after logging into your PBX in a Flash system as root. On other systems, you are well advised to carefully review the install script and tailor it to meet the individual requirements of the platform on which you are installing it.

cd /root
wget http://bestof.nerdvittles.com/applications/teleyapper5/teleyapper5.pbx
chmod +x teleyapper5.pbx
./teleyapper5.pbx

The TeleYapper Database. We use the MySQL database management system to manage the list of callees for TeleYapper to dial. It can handle a database of almost any size and generally stands up well in performance comparisons with Oracle. So you're covered on the database front. For most users, you never should need to access the MySQL database directly. TeleYapper 5.0 handles the importing of CSV or XML files for processing, manages the call queue, and processes and emails CSV and/or XML-formatted reports to you when the calls are completed.

The install script creates the MySQL database to support TeleYapper 5.0. Should you need or want to manage the database directly, the easiest tool to use is phpMyAdmin which is accessible through the Tools tab in FreePBX on PBX in a Flash systems. You'll need to login as maint with your maint password to access phpMyAdmin. After phpMyAdmin loads, click on the reminders database in the left column. Then click the reminders table entry in the left column to open the file. Unless you really, really know what you are doing and appreciate how much coding will be required to support new or different fields in the reminders file, don't improve it.

Here's the layout of the MySQL database table for TeleYapper 5.0:

  • id - System generated record ID
  • acctno - Account Number (12 alphanumeric characters)
  • provider - Provider Name (30 alphanumeric characters)
  • recipient - Recipient Name (30 alphanumeric characters)
  • apptdt - Appointment Date (MM/DD/YY format)
  • appttime - Appointment Time (HHMM format using 24-hr clock)
  • apptplace - Appointment Location (30 alphanumeric characters)
  • instructions - Free-form text (65535 alphanumeric characters)
  • phone1 - Primary Phone (NNN-NNN-NNNN or NNNNNNNNNN)
  • phone2 - Alternate Phone (NNN-NNN-NNNN or NNNNNNNNNN)
  • status - Status: 0=failedcall 5=ansmachine 1,2,3,4=user-defined
  • failedcalls - System Generated Number of Failed Calls

Tweaking PHP for TeleYapper. Depending upon your PHP setup and the number of calls you plan to process, you may need to adjust the default PHP resource settings on your server. The main reason is because TeleYapper generates a custom sound file for every call to be processed before the calling ever starts. If you plan to make thousands of calls, this can take some time. The PHP settings are stored in /etc/php.ini. You must log in as root and restart Apache after making changes to these settings: service httpd restart. The settings that matter are the following:

max_execution_time = 30 (we recommend 900 which is 15 minutes to process)
max_input_time = 60 (we recommend 300 which is 5 minutes to upload a file)
memory_limit = 100M (OK as is)

post_max_size = 8M (we recommend 100 megabytes which should be ample)

file_uploads = On (OK as is on most systems)
upload_max_filesize = 100M (we recommend 100 megabytes which should be ample)

Tweaking Crontab. TeleYapper relies upon a cron job to kick off its calling sprees so you'll need the following entry in your /etc/crontab file unless you used the install script which inserts it automatically:

* * * * * root /var/www/html/appt-reminders/gen-reminders.php > /dev/null 2>&1

Formatting CSV Data For Import. You don't necessarily need an external database in order to use TeleYapper 5.0 although it is designed to support almost any database or spreadsheet application in the marketplace so long as it can export data in CSV or XML format. A CSV (comma-separated values) or XML file is the middleware that makes everything work. Each line in a CSV file represents an entry to be processed by TeleYapper 5.0 when the CSV file is uploaded. Each item in a line is called a field. Every field begins and ends with double-quotes, and fields are separated from each other with commas. Do NOT include any quotation marks in your actual text, or you'll get a disaster. All fields are required, by the way, but only the Phone1 field must have an actual entry. The remaining fields may each consist of nothing more than a pair of double-quotes. Note also that the id, status, and failedcalls fields (shown in red below) must consist of a pair of double-quotes and nothing more. Here's the actual CSV format which must be used, and all of the data must appear on the same line so disregard the WordPress formatting below:

"id","acctno","provider","recipient","apptdt","appttime","apptplace","instructions","phone1","phone2",
"
status","failedcalls"

Here's what the CSV entry used for our sample medical reminder shown near the top of this article would look like. We've excluded the special instructions and Phone2 entries below only to simplify the display because of constraints inherent in our blog formatting:

"","12345","Quack","Jan","10/05/10","1030","Charleston","","4049876543","","",""

The XML Alternative. If you'd prefer to upload XML file templates for your calls instead of CSV data, a sample XML file is included in the distribution to show you the proper formatting. Here's a sample entry that matches the CSV data above:

<!-- Database: reminders -->
<reminders>
   <!-- Table: reminders -->
    <reminders>
       <id></id>
       <acctno>12345</acctno>
       <provider>Quack</provider>
       <recipient>Jan</recipient>
       <apptdt>10/05/10</apptdt>
       <appttime>1030</appttime>
       <apptplace>Charleston</apptplace>
       <instructions></instructions>
       <phone1>4049876543</phone1>
       <phone2></phone2>
       <status></status>
       <failedcalls></failedcalls>
    </reminders>
</reminders>

Direct Uploading with SAMBA. If you've activated SAMBA on your Asterisk server, you can upload TeleYapper files for processing directly. Be sure to name your CSV or XML file as reminders.csv or reminders.xml. And name your config file: config.php. Copy the files to the /var/www/html/appt-reminders/upload directory on your Asterisk server. That's all there is to it. If you need hints on SAMBA installation, see our Best of Nerd Vittles tutorial. Pay particular attention to the sections on Security Considerations and Firewall Settings. Before using the SAMBA, be sure to upload some test CSV/XML files using the web interface. There is no error checking when you use the SAMBA option!

Configuring TeleYapper 5.0 Calling Scripts. Now let's address how we transform a CSV or XML entry such as the ones shown above into a personalized phone call to Jan, the actual patient in our example. Every TeleYapper session can have an individual configuration file associated with it. If none is specified, then a default configuration is used. In this way, you can customize call procedures and calling scripts for different tasks. The easiest approach is to always upload a config file with your CSV or XML data file. Then you won't get unexpected results when the calling begins.

HINT: It's a very good idea to create a sample upload with your own phone number and some sample configuration data to test things out before you start calling thousands of clients.

A default configuration file (config.default.php) as well as sample CSV and XML templates (reminders.csv and reminders.xml) come with TeleYapper 5.0 and can be found on your Asterisk server in the /var/www/html/appt-reminders directory. Make a copy of them, and move the copies to your Mac or PC. Then, using TextEdit or Notepad, open the files and have a look. Before addressing other configuration options in config.php, let's tackle the setup procedure for calling scripts.

The actual boilerplate message to be delivered to the called party is stored in $msg. Notice that you can substitute data out of your database in the boilerplate template by enclosing any desired fields in braces. Just make sure the fieldname exactly matches one of the fields in the reminders database. So our entry for the sample call above would look like this:

$msg="Hi: This is Allison from Charleston Family Clinic calling to confirm an appointment for {recipient}, with Doctor {provider}, on {apptdt}, at {appttime}, in our {apptplace} office. {instructions}";

Just a comment that, for those with large data processing systems, you may find it more convenient to generate the actual text for each reminder on your mega-machine. In this case, all of the data (up to 65,535 characters) could be loaded into the instructions field for each callee. So each upload record might consist of nothing more than phone numbers and instructions. In this scenario, the $msg entry in config.php would look like this: $msg="{instructions}";

The key press choices that are provided to the called party are configured using the $options field which would look like this for our example:

$options = "To confirm your appointment, please press 1. To reschedule your appointment, press 2. To cancel your appointment, press 3. If we have reached you in error or if you do not wish to receive appointment reminders, press 4. To hear this message again, please press 5 now.";

Don't confuse the 5 option which is automatically included in the TeleYapper dialplan code with status code 5 which means an answering machine picked up a call. Status code 5 is system-generated and is not stored based upon a callee choosing to listen to a recorded message more than once. The two 5's are not the same even though options 1-4 are actually used to define what the first four status codes mean on your system.

As we mentioned, the system has the smarts to usually figure out if an answering machine took the call. When it detects this, the $ansmach message is played instead of $options. A sample entry might look like this:

$ansmach = "If you need to cancel or reschedule this appointment, if we reached you in error, or if you do not wish to receive appointment reminders in the future, please call 777-123-4567 at your earliest convenience. Thank you for your assistance. Goodbye.";

Finally, for each of the four choices (1 through 4), there is a response message which is played if the callee chooses that option. Here's a sample template to get you started:

$chose1 = "Thank you for making Charleston Family Clinic your medical home. Your appointment has been confirmed. Goodbye.";
$chose2 = "Thank you. A representative will be calling you to reschedule your appointment. Goodbye.";
$chose3 = "Thank you for making Charleston Family Clinic your medical home. Your appointment has been cancelled. Goodbye.";
$chose4 = "Thank you. We will update our systems and apologize for the call. Goodbye.";

Thus, when a callee responds to the boilerplate call by pressing 1, $chose1 is played in response. If an email address has been entered for $chose1email, then a copy of the log entry for that call is sent to the specified email address using the customized email subjects (shown below) in addition to being placed in the master call log. The same process occurs when the other options are chosen. Particularly with medical appointment cancellations, it may be important to receive immediate notification when an appointment is canceled or a patient requests a change in scheduling. So the software includes the flexibility to generate instant emails to various email addresses depending upon which option is pressed. As noted, the optional instant emails will be generated using the email subjects entered for the following fields in your customized configuration file:

$chose1subj = "APPOINTMENT NOTIFICATION CONFIRMED BY PHONE";
$chose2subj = "APPOINTMENT RESCHEDULING REQUEST BY PHONE";
$chose3subj = "APPOINTMENT CANCELLATION REQUEST BY PHONE";
$chose4subj = "APPOINTMENT SCHEDULING ERROR REPORTED BY PHONE";
$chose5subj = "APPOINTMENT NOTIFICATION LEFT ON ANSWERING MACHINE";

Uploading Data & Config Files to TeleYapper. Simple web pages are used to upload CSV and XML data with config files to TeleYapper 5.0. WARNING: These web pages have NOT been sanitized for use on the Internet. They are designed for use on your local area network behind a secure firewall. On PBX in a Flash systems, the web pages are password-protected and require a valid user account login for access. This will NOT be the case on other Asterisk aggregations without tweaking your Apache configuration. Sample entries can be found in teleyapper.conf in the /var/www/html/appt-reminders directory. On PBX in a Flash systems, you can log in using maint, wwwadmin, or meetme accounts. Or you can create an additional account to use with TeleYapper 5.0:

htpasswd /usr/local/apache/passwd/wwwpasswd teleyapper

There are separate web pages depending upon whether you wish to upload CSV or XML data. For CSV data, the web address is http://ipaddress/appt-reminders/uploadcsv/. For XML data, the web address is http://ipaddress/appt-reminders/uploadxml/. Substitute the private IP address of your Asterisk server for ipaddress. Here's a sample of the CSV web form. You can, of course, substitute your own logo on the right if desired.

CSV Web Form

Other TeleYapper 5.0 Config Options. In addition to the boilerplate text for TeleYapper calls, there are a number of other settings which can be adjusted to meet your individual requirements.

The database settings should never need adjusting so just leave them alone. They look like this:

$db="reminders";
$fi="reminders";
$dbuser="root";
$dbpass="passw0rd";

You can manually set a starting and ending time to begin and end the calling sequence for a particular upload. Never set these in the default configuration! Only set them in a config file to be uploaded. If the entries are blank, calls will commence shortly after the upload completes and will end when all of the entries have been processed. Note that there is no current flexibility to schedule individual calls based upon the time of the appointment. This typically would be handled by selecting particular records for processing in your primary database. For example, for medical appointments, you would select records in which an appointment is scheduled for tomorrow and then upload the list to TeleYapper which would place the calls today. We probably will expand this functionality down the road, but it's not there yet. So it's up to you to upload call lists which basically are ripe for calling now.

If you wish to use the $startcalls and $endcalls features in your custom config files, the syntax should look like this: YYYYMMDD,HHMM where YYYY is a 4-digit year, MM is a 2-digit month, DD is a 2-digit day of the month, HH is the 2-digit hour based upon a 24-hour clock (aka Military Time), and MM is the 2-digit minute. Note that calls will not end precisely at the $endcalls time. Any existing calls already in process will be completed including redials and calls to an alternate $phone2 number. This process can take up to 10 minutes to complete.

CAUTION: Be very careful using the $startcalls option! Nothing precludes your scheduling a thousand reminder calls to kick off at 0200 which is 2 a.m. Not really a good thing if job security matters to you.

To restart the calling process on the following day, log into your server as root and switch to the /var/www/html/appt-reminders directory. Then edit config.php and adjust the $startcalls and $endcalls for the remaining calls. Then run: ./gen-calls.php. Any existing database entry with a status=0 will be called when the calling process resumes. You can monitor the calling process by running: ./showcalls.sh. Press Ctrl-C to terminate the call display. It usually takes a minute or two for the first call to be placed.

$callerid is used to set the CallerID of outbound calls if your telephony provider supports it.

$trunk is used to set the outbound dialing trunk for calls. The default works for most purposes.

$channel is used to set the outbound dialing channel for calls. The default works for most purposes.

$maxcalls and $spacing are used to set the number of simultaneous calls and spacing between calls respectively. Be very careful with these settings. You must have sufficient outbound trunks to handle the number of simultaneous calls you schedule with $maxcalls, or you will get circuit busy conditions which are recorded as calls to busy numbers. Keep in mind that TeleYapper tries every call twice with 2 minutes of separation. So, if you only have two outbound trunks, don't set $maxcalls above 1, or you will get trunk busy conditions whenever original calls to an individual fail, i.e. line busy or no answer situations. In addition, remember that TeleYapper 5.0 supports a second phone number for each called party. These are triggered whenever the original two calls to the primary number fail and must also be considered in setting $maxcalls properly. If your logs show a disproportionate number of failed calls (status=0), this may be a tell-tale sign of trunk busy conditions.

$waittime is the number of seconds a call to any given number will ring. 45 seconds is about 7 rings.

$email is the email address that will be used to send the logs at the completion of the calling process. $chose1email through $chose5email are the optional email addresses if you want instantaneous feedback on certain types of status results. This means you get an immediate email if a certain call results in a certain status code. Leave the ones blank for $status conditions on which you want no immediate feedback and simply wait for the logs to arrive.

$csvreport and $xmlreport are used to set which type of completion report you wish to receive. If you want both of them, set them both to 1. Otherwise, set the one you don't want to 0.

The Old Fashioned Way. For those of you that preferred the older method of entering data directly into MySQL, you still can use phpMyAdmin or some other front-end tool to enter the data directly into the reminders.reminders table. Just leave the id field blank since it automatically gets generated by MySQL. And either leave the status and failedcalls fields blank or set them to 0. They also are system-generated. Once you have your data in place, log into your server as root, and...

cd /var/www/html/appt-reminders
Configure config.php for your calling campaign
Run ./gen-mysql.php to kick off TeleYapper 5.0

In Closing... Finally, let us issue our usual tinkerer's warning. Don't delete anything from the /var/www/html/appt-reminders directory tree. Just because you don't know its function doesn't mean it doesn't have one. Aside from that, the documentation above should get you started today. Be advised that TeleYapper 5.0 still is a work in progress. So check back every week or so for new comments on this article to see what's been changed, added, or fixed since you originally downloaded the application. Enjoy!




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


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


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


Some Recent Nerd Vittles Articles of Interest...

  1. Special thanks to my dear wife, Mary, who did much of the system design work for this project, and to Community Health Centers of Florida for underwriting some of the design and development costs. []

Ringbinder theme by Themocracy