Posts tagged: SMS

SMS Dictator 2.0: Send SMS Messages Using Your Phonebook with Google Voice

Here’s an update of a terrific Google™ speech-to-text application for your Asterisk® goody bag. SMS Dictator 2.0 lets you pick up any phone on your Asterisk system, dictate a brief message, have it transcribed by Google, and then delivered as an SMS text message by entering either a 10-digit number of your choosing or by saying any name in your AsteriDex phonebook. The installation process on PBX in a Flash™ systems takes only a minute. And you’ll find Asterisk SMS Messaging to be a welcome addition to your VoIP Swiss Army Knife.

Prerequisites. For the installer to work seamlessly, you’ll need a PBX in a Flash 2 server with the PERL gvoice CLI tool. You can test whether this is working by logging into your server as root and issuing the command: gvoice. When prompted for your Google Voice account name, enter it and include @gmail.com. Then enter your password. If you get a gvoice prompt, all is well. Type quit to exit. If you get errors or the gvoice app doesn’t exist, click on the pygooglevoice link in this paragraph to get things squared away.

You’ll also need a Google Voice™ account that can be used to send the SMS messages. Today’s SMS installer will prompt you for your Google Voice account name in the format: myname@gmail.com. Then you’ll be prompted for your Google Voice password. Once you’ve entered your credentials, the rest is automagic. With a little manual tweaking of the installation script, you can get this working on any Asterisk-based server running under Linux.

As configured, SMS Dictator™ uses extension 767 (S-M-S) to generate SMS messages. If this conflicts with an extension on your server, you can edit the extensions_custom.conf dialplan in /etc/asterisk.

Legal Disclaimer. What we’re demonstrating today is how to use a publicly accessible web resource to respond to dictation requests generated by a phone connected to your Asterisk server. We’re assuming that Google has its legal bases covered and has a right to provide the public service they are offering. We are not vouching for Google or the services being offered in any way. By using our tutorial, YOU AGREE TO ASSUME ALL RISKS, LEGAL AND OTHERWISE, ASSOCIATED WITH USE OF THIS FREELY ACCESSIBLE WEB TOOL. NO WARRANTY EXPRESS OR IMPLIED IS BEING PROVIDED BY US INCLUDING ANY IMPLIED WARRANTY OF FITNESS FOR USE OR MERCHANTABILITY. You, of course, have an absolute right not to read our articles or implement our code if you have reservations of any kind or are unwilling to assume all risks associated with such use. Sorry for legalese, but it’s the time in which we live I’m afraid. Plain English: “Don’t Shoot the Messenger!”

Removing Previous SMS Dictator Code. If you installed our earlier version of SMS Dictator, then you have a little housekeeping to do before we begin. Log into your server as root and change to the /etc/asterisk directory. Then edit extensions_custom.conf. Search through the file until you find the lines beginning with exten => 767. Delete all of those lines. If you’re using nano, Ctrl-K will delete a line at a time. Once you’ve deleted all the 767 lines, save the file: Ctrl-X, Y, and press Enter. Now continue on…

Installation. To install SMS Dictator, log into your PBX in a Flash server as root and issue the following commands:

cd /root
wget http://nerdvittles.com/sms-dictator.tgz
tar zxvf sms-dictator.tgz
./sms-dictator.sh

Accept the license agreement and fill in your Google Voice credentials when prompted. In under a minute, you’ll be ready to test things out.

Taking SMS Dictator for a Spin. Now you’re ready to try it. Pick up any phone connected to your Asterisk server. Dial S-M-S (767). When prompted, dictate a brief message and press #. If the transcription played back is correct, press 1. Or hang up and try again. Now press 1 to enter a 10-digit phone number for the SMS recipient or press 2 to speak the name of someone in your AsteriDex database. When prompted, enter the 10-digit number or say the name of the SMS recipient. If the response read back to you is correct, press 1 to send the SMS message. It’s as simple as that.

AsteriDex Integration. If you’re using AsteriDex for your contacts, then it’s pretty simple to look up SMS contact numbers from there instead of having to remember them and manually key them in. The only trick is that you may need to adjust the names slightly if Google has difficulty understanding what you’re saying. For example, Google does not like Ward but is perfectly happy with Uncle Wardy. So are we. Here’s a hint. Multi-syllable words fare better than 3 and 4 letter words.

SMS Message Blasting. The SMS messaging possibilities, of course, are endless. A lively discussion is was underway on the PIAF Forum until The Great Trainwreck of 2013. This could include notifications to Little League teams about schedule changes, or alerts from a school about emergencies, or community alerts about tornados. You can probably think up a dozen more on your own. We’ve now released the first preview of a message blasting utility which you are welcome to download here. Enjoy!

Originally published: Monday, August 13, 2012




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


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


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


Some Recent Nerd Vittles Articles of Interest…

GV Call Notifier: Send Jabber and SMS Alerts for Incoming Asterisk Calls

For those using PBX in a Flash or The Incredible PBX with at least one Google Voice trunk configured, there’s a simple way to send Jabber alerts to your Gmail desktop and SMS alerts to your cellphone to notify you of incoming calls to your Asterisk® server. Meet GV Call Notifier. The setup only takes a couple of minutes, and it provides instantaneous Asterisk call notification when new calls arrive on your system.

Prerequisites. You’ll need a PIAF2 server with or without Incredible PBX to use today’s GV Call Notifier. Set up at least one dedicated Google Voice account in PIAF2 using FreePBX. Remember that Google Voice requires that one outbound call be made with your new account using a browser before it will work interactively with PBX in a Flash.

Because we will be using Google’s Chat facility to send alerts, you also will need to interactively enable chat communications between your Google Voice account (used in PIAF2) and whatever Gmail destination(s) you plan to use as the recipient of the Jabber alerts. The easy way to do this is to open two different browsers. Sign in to Gmail on one with your primary Gmail account, and sign into Gmail on the other one with your PIAF2 Google Voice account credentials. Now use the Chat option in Gmail to send a message in both directions between the two accounts. Don’t forget to sign out of the Google Voice account, or it will no longer work to receive incoming calls in PIAF2.

Configuration Steps. To make this work, we need to adjust the context configuration for the trunks you wish to monitor. You may recall that, when you set up a new trunk, one of the entries looked like this: context=from-trunk. That’s the default incoming trunk context for FreePBX® trunks. What we need to do is replace the existing context entry with a custom context. Let’s call it incoming-alert. Here’s what a typical setup looks like. Click here to download a copy to your Desktop for editing because you need to add your own credentials.

[incoming-alert]
exten => 8431234567,1,Goto(s,1)
exten => s,1,Set(GVACCT=acctname) ; your Google Voice account name without @gmail.com
exten => s,2,Set(GVPASS=password) ; your Google Voice account password
exten => s,3,Set(EMAIL_NOTIFY=yourname@gmail.com) ; Gmail address to receive Jabber alerts
exten => s,4,Set(SMS_NOTIFY=6782223344) ; your cellphone number to receive SMS alters
exten => s,n,Playtones(ring)
exten => s,n,JABBERSend(${GVACCT},${EMAIL_NOTIFY},"Incoming call: ${CALLERID(all)}")
exten => s,n,System(gvoice -e ${GVACCT}@gmail.com -p ${GVPASS} send_sms ${SMS_NOTIFY} "Incoming call: ${CALLERID(all)}")
exten => s,n,Goto(from-trunk,${CALLERID(dnid)},1)
exten => s,n,Hangup

You only have to worry about the first five lines in the context. The first one designates the Trunk DID you want to manage. Just enter the 10-digit or 11-digit DID of the trunk you want to monitor. Whether to use a 10-digit or 11-digit DID depends upon how your trunk provider delivers the incoming calls to your PBX. If you want to manage more than one DID, just clone the first line changing the entry for each DID and then insert the new line below [incoming-alert].

Remember we said you must set up at least one Google Voice account in FreePBX for this to work. The reason is we’re going to use Google Voice to deliver the Jabber and SMS messages. Be sure you’ve interactively completed the Google Chat setup steps above before you continue. Otherwise, your alerts will never be delivered.

In [incoming-alert], modify line s,1 by replacing acctname with your actual Google Voice account name minus @gmail.com. In line s,2 replace password with your Google Voice account password. In line s,3 replace yourname with the Gmail address where you want the Jabber alerts delivered. This typically would be your primary Gmail account, not the account you set up for Google Voice in Asterisk. In line s,4 replace 6782223344 with the 10-digit cellphone number to which you want incoming call SMS alerts delivered. As we said, nothing else needs to be changed. Now cut-and-paste the custom [incoming-alert] context to the end of /etc/asterisk/extensions_custom.conf. Then reload your Asterisk dialplan: asterisk -rx "dialplan reload"

Now we’re ready to make the Trunk adjustments in FreePBX. Using your browser, open up FreePBX by pointing your browser to the IP address of your server with /admin as the destination. Edit the Trunk or Trunks that you configured in the [incoming-alert] context. Find the line that begins with “context” and change it to context=incoming-alert.

NOTE: If the existing entry you’re replacing wasn’t context=from-trunk, then be sure to write down what the context actually was. Then replace the from-trunk entry in the next to last line of [incoming-alert] with whatever context you wrote down.

Save your Trunk change and reload FreePBX when prompted. Then try a test call to this DID to make sure you receive the two alerts.

Install Growl. The other piece you’ll probably want is Growl, a pop-up notification system for Mac OS X or Windows. With Growl in place, you’ll see alerts like the one above whenever a new call arrives.

CallerID Superfecta Notifications. If you didn’t already know, there are seven additional call notifier options which are available as part of CallerID Superfecta. Every Data Source that begins with Send To is actually a call notifier. Take advantage of them. They’re all free! CallerID Superfecta is included in every PIAF2 installation and can be accessed through the FreePBX GUI. It is brought to you by the fine folks at POSSA. Enjoy!

Update: For an alternate approach that we actually like better, see the Comments.

Originally published: Thursday, July 26, 2012



Astricon 2012. Astricon 2012 will be in Atlanta at the Sheraton beginning October 23 through October 25. We hope to see many of you there. We called Atlanta home for over 25 years so we’d love to show you around. Be sure to tug on my sleeve and mention you’d like a free PIAF Thumb Drive. We’ll have a bunch of them to pass out to our loyal supporters. Nerd Vittles readers also can save 20% on your registration by using coupon code: AC12VIT.




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


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


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99. 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…

SMS Dictator: Send SMS Messages Using Any Asterisk Phone

Here's another Google™ speech-to-text application for your Asterisk® goody bag. Today's installment lets you pick up any phone on your Asterisk system, dictate a brief message, have it transcribed by Google, and then delivered as an SMS text message to any 10-digit number of your choosing. The installation process on PBX in a Flash™ systems takes only a minute. And you'll find Asterisk SMS Messaging to be a welcome addition to your VoIP Swiss Army Knife.

Prerequisites. For the installer to work seamlessly, you'll need a PBX in a Flash 2 server with the PERL gvoice CLI tool. You can test whether this is working by logging into your server as root and issuing the command: gvoice. When prompted for your Google Voice account name, enter it and include @gmail.com. Then enter your password. If you get a gvoice prompt, all is well. Type quit to exit. If you get errors or the gvoice app doesn't exist, click on the gvoice link in this paragraph to get things squared away.

You'll also need a Google Voice™ account that can be used to send the SMS messages. Today's SMS installer will prompt you for your Google Voice account name in the format: myname@gmail.com. Then you'll be prompted for your Google Voice password. Once you've entered your credentials, the rest is automagic. With a little manual tweaking of the installation script, you can get this working on any Asterisk-based server running under Linux.

As configured, SMS Dictator™ uses extension 767 (S-M-S) to generate SMS messages. If this conflicts with an extension on your server, you can edit the extensions_custom.conf dialplan in /etc/asterisk.

Legal Disclaimer. What we're demonstrating today is how to use a publicly accessible web resource to respond to dictation requests generated by a phone connected to your Asterisk server. We're assuming that Google has its legal bases covered and has a right to provide the public service they are offering. We are not vouching for Google or the services being offered in any way. By using our tutorial, YOU AGREE TO ASSUME ALL RISKS, LEGAL AND OTHERWISE, ASSOCIATED WITH USE OF THIS FREELY ACCESSIBLE WEB TOOL. NO WARRANTY EXPRESS OR IMPLIED IS BEING PROVIDED BY US INCLUDING ANY IMPLIED WARRANTY OF FITNESS FOR USE OR MERCHANTABILITY. You, of course, have an absolute right not to read our articles or implement our code if you have reservations of any kind or are unwilling to assume all risks associated with such use. Sorry for legalese, but it's the time in which we live I'm afraid. Plain English: "Don't Shoot the Messenger!"

Installation. To install SMS Dictator, log into your PBX in a Flash server as root and issue the following commands:

cd /root
wget http://nerdvittles.com/sms-dictator.sh
chmod +x sms-dictator.sh
./sms-dictator.sh

Accept the license agreement and fill in your Google Voice credentials when prompted. In under a minute, you'll be ready to test things out.

Taking SMS Dictator for a Spin. Now you're ready to try it. Pick up any phone connected to your Asterisk server. Dial S-M-S (767). When prompted, dictate a brief message and press #. If the transcription played back is correct, press 1. Or you can press 2 to try again. When prompted, enter the 10-digit number of the SMS recipient. If the number read back to you is correct, press 1 to send the SMS message or press 2 to enter a new 10-digit number. It's as simple as that.

AsteriDex Integration. If you're using AsteriDex for your contacts, then it's pretty simple to look up SMS contact numbers from there instead of having to remember them and manually key them in. Log into your server as root and replace the 767 dialplan code in /etc/asterisk/extensions_custom.conf with the following. Be sure to insert your credentials in the gvoice line (3d from the bottom), save your changes, and reload your Asterisk dialplan by entering this command: asterisk -rx "dialplan reload"

; SMS Dictator for AsteriDex
exten => 767,1,Answer
exten => 767,n,Wait(1)
exten => 767,n(record),Flite("After the beep. I will reecord your S.M.S message. When you're finished. press the pound key.")
exten => 767,n,agi(speech-recog.agi,en-US)
exten => 767,n,Noop(= Script returned: ${status} , ${id} , ${confidence} , ${utterance} =)
exten => 767,n,Flite("I think you said: ${utterance}")
exten => 767,n,Flite("If this is correct. press 1.")
exten => 767,n,Flite("To start over. press 2.")
exten => 767,n,Flite("To cancel and hang up. press 3.")
exten => 767,n,Read(MYCHOICE,beep,1)
exten => 767,n,GotoIf($["foo${MYCHOICE}" = "foo1"]?continue)
exten => 767,n,GotoIf($["foo${MYCHOICE}" = "foo2"]?record)
exten => 767,n,Playback(goodbye)
exten => 767,n,Hangup
exten => 767,n(continue),Set(SMSMSG=${utterance})
exten => 767,n(pickcontact),Flite("At the beep say the name of the person or company you wish to contact. Then press the pound key.")
exten => 767,n,agi(speech-recog.agi,en-US)
exten => 767,n,Noop(= Script returned: ${status} , ${id} , ${confidence} , ${utterance} =)
exten => 767,n,AGI(nv-callwho.php,${utterance})
exten => 767,n,NoOp(Number to call: ${NUM2CALL})
exten => 767,n,GotoIf($["foo${NUM2CALL}" = "foo0"]?pickcontact)
exten => 767,n,Flite("Sending S.M.S message. One moment please.")
exten => 767,n,System(gvoice -e GVname@gmail.com -p GVpassword send_sms ${NUM2CALL} "${SMSMSG}")
exten => 767,n,Flite("S.M.S message has been sent. Good bye.")
exten => 767,n,Hangup

Next Steps. The SMS messaging possibilities, of course, are endless. A lively discussion is underway in the PIAF Forums about SMS message blasting using Asterisk. This could include notifications to Little League teams about schedule changes, or alerts from a school about emergencies, or community alerts about tornados. You can probably think up a dozen more on your own. Come join the discussion, and we'll we'll address adjusting today's application to handle SMS message lists for roboSMSing and more in the coming weeks. Enjoy!

Originally published: Monday, March 12, 2012




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


whos.amung.us If you're wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our 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...

Tweet2Dial: SMS Messaging with Google Voice and Twitter

We continue our quest for convergence today by adding the missing piece to our recent Tweet2Dial application. In addition to free calls to everyone in the U.S. and Canada as well as complete management of your Asterisk® server from Twitter, today's enhancement lets you send SMS messages to any SMS device or cellphone in the U.S. and Canada using simple Twitter messages. And, best of all, Tweet2Dial is free and runs on almost any Asterisk or Linux server as well as every Mac on the planet.

Twitter already provides some basic SMS integration that allows you to use SMS messages to send tweets. You also can opt to receive some Twitter messages via SMS whenever your friends post a new Tweet. But Twitter's SMS functionality is Twitter-centric meaning that both you and your friend must be Twitter users to take advantage of the SMS enhancements. Tweet2Dial adds the missing piece so that you can send SMS messages to anyone with an SMS-capable device in the U.S. and Canada whether or not they have a Twitter account. After all, that's what convergence is all about!

If you've already installed Tweet2Dial, we'll walk you through upgrading your existing setup in this article. If you haven't previously installed Tweet2Dial, then all you need to do is read the updated, original article which now includes coverage of the SMS functionality. Keep in mind that current Twitter API call limitations still limit you to one call or SMS message or Asterisk CLI command per minute. We'll remove this limitation once Twitter expands the hourly API call restriction.

Upgrading Tweet2Dial. For those that already have installed Tweet2Dial, here are the steps to add the SMS functionality. Just log into your server as root and issue the following commands. For Mac users, there is no root account. Just open a Terminal window while logged in with the user account used to set up Tweet2Dial initially and skip the cd /root command below:

cd /root
mv tweet2dial.php tweet2dial2.php
wget http://pbxinaflash.net/source/twitter/tweet2dial.tgz
tar zxvf tweet2dial.tgz
rm tweet2dial.tgz

Now open your old Tweet2Dial application (renamed to tweet2dial2.php) and write down your existing settings. Then edit tweet2dial.php and plug your old settings back in to restore access to your Google Voice account, your Asterisk server (if desired), and your Twitter friends. That's it! You're finished.

Sending SMS Messages with Twitter. To send new SMS messages, you'll use the same scenario outlined in the original article to place free phone calls. Just send a direct message to your secondary Twitter account. Only those that you have authorized as friends can send direct messages to this account so it's as secure as you want it to be. The Twitter Direct Message syntax for an SMS message looks like this where 6781234567 is the 10-digit cellphone number or Google Voice number of the SMS recipient:

SMS:6781234567:Here is a sample SMS message

Any replies to an SMS message which you send using Twitter will be forwarded to the email address that you used to set up your Google Voice account. Enjoy!

Special Thanks. Our tip of the hat again goes to the Pygooglevoice Development Team: JEIhrig, justquick, jacob.feisley, and nagle. Without their pioneering work, there would be no Tweet2Dial, no Orgasmatron V, and no Googlified Messaging for Asterisk. Terrific code! Thank you.

Happy Birthday to Us! Well, today's the Big Day. Today marks the Fifth Birthday for Nerd Vittles. Seems like only yesterday. Thanks for putting up with us all these years! To celebrate the event, Dell has most of their entire server line on sale today for 1/2 price.




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 TweedleD: Twitter & SMS Alerts with Every Asterisk Call

Twitter Direct Messages and SMS Instant Messages are great ways to send yourself important notes that you want to keep track of... privately. Today, we'll show you how to harness the power of Twitter and SMS to announce every call on your Asterisk® server with the name and number of the caller as well as the DID of the incoming call. Reconfiguring your Asterisk server takes less than 10 minutes. We think you'll find this to be the perfect complement to our free Urang II desktop screenpop utility.

Prerequisites. You'll need one of the Asterisk aggregations to get all of this working quickly. At a minimum, you need Asterisk 1.4 or 1.6, FreePBX, Apache, PHP 5, PHP/AGI, and SendMail or an equivalent. You'll also need a service that provides CallerID name lookups such as CallerID Superfecta. We're assuming you already have all of these components working including outbound email which is necessary to deliver the SMS alerts.

Overview. The design strategy for TweedleD is pretty straight-forward. When a call comes into your server, FreePBX should catch the call in an inbound route that looks for incoming calls on a particular DID. A CallerID Lookup source will be used in the Inbound Route to look up the name of the caller based upon their CallerID number. Then we will use a Custom Destination to route the call to a special Asterisk context which will run the TweedleD AGI script. This script actually sends out the Twitter Direct Messages as well as the SMS messages to your cellphone. Once the script completes its work, the context will send the call along to its final destination, e.g. an extension, a ring group, a day/night control, or an IVR.

NOTE: There is a 100-150 API calls per hour per IP address limit with the Twitter API. If you also are using one or more Twitter clients at your site, this is something worth keeping in mind if you have a busy phone system.

1. FreePBX Custom Context. The trick with designing FreePBX dialplans is to build them in reverse. So we'll start with the custom context and work our way back to the inbound route. First, log into your server as root and edit extensions_custom.conf in /etc/asterisk. At the end of the file, we want to create a new context that looks like this. We've provided several sample destinations at s,5 to show you the syntax. The first routes a call to an extension or ring group number. The second routes the call to Day/Night Control #1. And the third routes the call to an IVR. To find the correct IVR number or day/night control for what you want to do, review the IVR and app-daynight contexts in extensions_additional.conf to find the one you need. Obviously, you only use one s,5 line. Comment out the remaining ones as shown below. For Asterisk 1.6, replace the vertical bars in line s,3 with commas.

[custom-twitter]
exten=>s,1,Answer
exten=>s,2,Wait(1)
exten=>s,3,AGI(nv-twitter.php|${CALLERID(name)}|${CALLERID(num)})
exten=>s,4,NoOp(${CUSTOMDATA})
exten=>s,5,Dial(local/701@from-internal)
;exten=>s,5,Goto(app-daynight,1,1)
;exten=>s,5,Goto(ivr-6,s,1)
exten=>s,6,Hangup

2. Installing PHP/AGI Scripts. Next we need to install the script that actually generates the messages for Twitter and SMS. In addition, we'll install Justin Poliey's terrific twitter.lib.php which is a PHP implementation of the Twitter API that lets you do just about anything with Twitter that you could do with the Twitter API itself. For a good writeup on the capabilities of twitter.lib.php, see Antonio Lupetti's article. To install the necessary code, issue the following commands while still logged in as root:

cd /
wget http://bestof.nerdvittles.com/applications/TweedleD.tgz
tar zxvf TweedleD.tgz
rm TweedleD.tgz
cd /var/lib/asterisk/agi-bin

3. Configuring TweedleD. Now we need to configure the PHP script with your Twitter and SMS credentials so that TweedleD knows where to send the messages. Edit nv-twitter.php in the /var/lib/asterisk/agi-bin directory on your server: nano -w nv-twitter.php. You'll see a section of code near the top of the application that looks like this:

//-------- DON'T CHANGE ANYTHING ABOVE THIS LINE ----------------

$tweet = 0;
$username = "your-twitter-name";
$password = "your-twitter-password";
$user4msg = "recipients-twitter-name";

$sms = 0;
// $smsaddress = "1234567890@txt.att.net" ; // AT&T
// $smsaddress = "1234567890@message.alltel.com" ; // AllTel
// $smsaddress = "1234567890@messaging.nextel.com" ; // Nextel
// $smsaddress = "1234567890@messaging.sprintpcs.com" ; // Sprint
// $smsaddress = "1234567890@tmomail.net" ; // T-Mobile
// $smsaddress = "1234567890@vtext.com" ; // Verizon

$debug = 0;
$newlogeachdebug = 1;

$emaildebuglog = 0;
$email = "yourname@yourdomain" ;

//-------- DON'T CHANGE ANYTHING BELOW THIS LINE ----------------

There are four things you can enable and, depending upon what choices you make, you need to add your credentials for the various options. Let's go through them in the order they appear.

To enable Twitter Direct Messages, change $tweet=0 to $tweet=1. $username and $password are used to set your Twitter login credentials for your Twitter account. You must have one! $user4msg is the Twitter account name where the DMs should be delivered. They do not necessarily have to be delivered to your Twitter account although they can be. Be sure to preserve the quotes! And, remember, you can only send direct messages to people on Twitter that you are following, and they must be following you as well. If in doubt, attempt to send a direct message in Twitter to the desired recipient. Then you'll know for sure. TweedleD provides no error messages if things don't work. :-(

To enable delivery of SMS messages to your cellphone, set $sms=1. TweedleD actually delivers SMS messages using email. Virtually all of the carriers provide an SMS-Email Gateway for this purpose. The trick is knowing the email domain for your desired carrier. The full list is available here. And here is an even newer Email to SMS Gateway list. In the script, we've provided samples for the major U.S. carriers so, if yours is in the list, just uncomment the appropriate line by removing the leading // on the line and replace 1234567890 with your 10-digit cellphone number.

If you want a debug log generated for each call, set $debug=1. The default is to overwrite the previous log (/var/log/asterisk/nv-twitter.txt) with each new call. If you'd prefer an ever-growing log, set $newlogeachdebug=0.

The debug log also can be emailed to you. Set $emaildebuglog=1 and enter your email address in $email.

When you've completed the configuration, save the file (Ctrl-X, Y, Enter) and reload the Asterisk dialplan: asterisk -rx "dialplan reload".

4. FreePBX Setup. Finally, we need to configure FreePBX to support TweedleD. We'll add a Custom Destination and then adjust our inbound route(s) to support the custom context we added in Step 1. Open FreePBX with a web browser and choose Admin, Tools, Custom Destinations, Add Custom Destination. For the Description, call it TweedleD. For the Custom Destination, enter the following: custom-twitter,s,1. Then click Submit. Now edit your Inbound Routes for the DIDs for which you wish to activate TweedleD. For each inbound route, make sure you have activated a CallerID lookup source and then set the destination to: Custom Destination: TweedleD. Save your changes and reload the dialplan.

Trying Out TweedleD. Now you're ready to place a test call. Just call into your system on one of the DIDs that has been configured for TweedleD. On the Asterisk CLI, you should see an entry that identifies the CallerID name and number of the caller. And, if you've activated delivery of notifications to Twitter and/or SMS, the messages will magically appear within seconds. Enjoy!


Tips of the Week. If you hurry, you can get 25GB of free, password-protected online storage with the new Micro$oft SkyDrive offering. Or, for a free incoming call number for your Skype account, check this service out. A new precompiled version of Asterisk 1.6 for Mac OS X Leopard has been released. You can download it here. Finally, Sprint is offering a Netbook for 99¢ with any 2-year EVDO contract at Best Buy stores this week. Regular price for the Compaq Mini is $389.99. Add your cell phone or Asterisk DID to the DO NOT CALL Registry. Just call 888-382-1222 using the CallerID of the number to wish to block.


Sign of the Times. Before you get too comfortable with all your free Google apps, you might want to read this article. Despite assurances to the contrary from Google's President of Enterprise, it seems that the free version of Google Apps has quietly disappeared.

Update: Google Apps team invokes Brain Fart defense saying they momentarily forgot about "free" but it won't happen again. Heh, heh. Official Blog Posting.


VoIP Users Conference. Come join the fun. The VoIP Users Conference is held every Friday at noon, Eastern time. ISN: 8647*1061 (Hint: 8647 spells VOIP on your phone).


The World According to Twitter. Be on the lookout for David Pogue's new book, The World According to Twitter. It goes to press today! Incidentally, Pogue's books are just about the only reasonably priced tech books available for the Kindle, and they're all excellent.

Tomorrow's the Big Day. The last time this happened, it was a pretty quiet year. Just after noon tomorrow comes your once-in-a-lifetime moment when the time will officially be 12:34:56 7/8/9. The last time we had this much fun in our lifetime was... uh, about a year ago: 01:23:45 6/7/8. Can't wait for next year's thriller: 23:45:67 8/9/10. Ooops! That won't work on most clocks. Will it? Amazing what you can learn on Twitter. Isn't it? Thanks, @ejovi and @ev.




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

Some Summertime Distractions for Asterisk Lovers


In addition to Spoleto and the Bridge Run, Charleston has many great traditions, one of which is a prompt transition from a rainy, cold winter into sweltering summer. We got a very long spring break this year, but now we’re paying for it. After spending a couple weeks on Balsam Mountain, it was nothing short of culture shock driving back into Charleston last night. But we’re glad to be home. And this week, we celebrate summer with a list of some of our favorite vacation discoveries that didn’t involve snakes and bears. Some are related to Asterisk®, and some aren’t. So here goes.

Streaming Video with Roku. If you haven’t figured out why Time Warner and Comcast have been pushing for Internet bandwidth caps, here’s a hint. Streaming video not only is killing their pipes, but more importantly (to them) it’s killing their pay-per-view and HBO/Showtime monopolies. If you enjoy (or can even remember) great television and movies without thousands of commercials, then we’ve got two discoveries that will make your summer! The first one is Roku, a little $100 device about the size and weight of a couple packs of cigarettes. You plug it into your TV and the Internet, pop the popcorn, and you’re ready for some fun. With an $8.95 Netflix subscription (which buys you one-at-a-time DVD rentals by mail), you also get unlimited movies streamed to your Roku device. It’s not their entire catalog, but it’s a substantial subset including most of the Starz catalog. The Roku player supports composite, S-video, component, and HDMI video connections as well as stereo and optical audio. A new addition allows the rental or purchase of first-run movies from Amazon (at Blockbuster prices). More offerings are promised for later this summer. Can Hulu be far behind? If you’ve been holding off purchasing a Blu-Ray player, then here’s another option. LG’s new $200 BD370 Blu-Ray Disc Player incorporates this same technology in addition to YouTube access. We haven’t used the BD370 yet, but we sure do want one.

Cellphones for Preteens. We laughed at our friends from Naples, Florida last summer when they were lamenting the fact that every child in their daughter’s second grade class had a cellphone except for theirs. They swore that they wouldn’t give in. That lasted until Christmas when the shiny new LG Xenon appeared. Chuckling all the way to spring, we recently met the same fate with the Samsung A767 Propel after our 9-year-old raised over $300 selling all of her old toys at the neighborhood yard sale. Bottom line: All the kids are going to have them by the time they turn 10. And with the family plans available from a number of providers, the costs are no longer prohibitive for most of us. You might as well get them trained to use cellphones responsibly while they’re young. Trust me. It’s a lot more difficult once they hit high school or college and know everything. There is a difference between adult and kid usage of cellphones. They rarely make a call. But you’ll want an unlimited texting plan. And none of the kids want an iPhone. They much prefer one the newer phones that includes a full keyboard for texting. Apple, are you listening?

If you go down this road with the rest of us that swore we wouldn’t do it, demand two things: (1) that your kids not use cellphones while driving and (2) that they not hold cellphones up to their ears while making calls. The jury is still out on whether cellphone usage leads to brain tumors. But it seems pretty obvious when you review the research provided by organizations not funded by the cellphone industry. Remember the tobacco companies swore that cigarettes were safe for decades, and they paid good money for authoritative-sounding research to back them up. Read this. And watch this. Then decide whether you want to gamble with the lives of your children. Better safe than sorry.

Deals, Deals, and More Deals. If you always shop for technology purchases at the same few stores, then send us a check for all the money we’re about to save you. There’s a green eBates coupon in the right pane just below that will usually save you 1-5% on all your technology and clothing purchases and just about anything else. It costs nothing to use it, and you’ll get $5 just for signing up. So do we. :-) To go with those savings, there are some bargain web sites that you won’t want to miss. Our old favorite is TechBargains, but there’s also a new kid on the block, DealNews. Check ‘em out. You’ll find something you just can’t live without… at bargain basement prices.

SMS Messaging with Asterisk. We’ve always lamented the fact that Asterisk had no built in SMS messaging capability. This is primarily because the cellphone providers keep a fairly tight lock on the SMS business since it’s their Cash Cow. There is a simple solution actually.

Virtually all of the cellphone providers have an Email-to-SMS gateway that can be used for sending SMS messages to their customers. For example, to send a message to a cellphone subscriber on the AT&T network, you just send an email message to 6781234567@txt.att.net. Click here for a complete list of the email gateway addresses.

That got us to thinking how simple it really would be to create a bash script that delivered the same message to every provider used by your friends. Who cares if all but one of the messages goes in the bit bucket. Your SMS message still will get delivered. For example, in the United States, if you’ve covered AT&T, Verizon, Alltel, Sprint, T-Mobile, US Cellular, Cricket, and Nextel, that pretty much gets 99% of the cellphones. If there’s a service that we’ve left out that you really need, just add another line to the bash script with the domain of that carrier.

So, log into your server as root and create a bash script named sms.sh that looks like the following: nano -w sms.sh

#!/bin/bash

# Script for sending SMS messages
# For additional cell carriers, see:
# http://en.wikipedia.org/wiki/List_of_carriers_providing_Email_or_Web_to_SMS

msg=”Just testing the new SMS batch script.”
subj=”SMS Message”
num2call=”8431234567″

echo “$msg” | mail -s “$subj” $num2call@message.alltel.com
echo “$msg” | mail -s “$subj” $num2call@txt.att.net
echo “$msg” | mail -s “$subj” $num2call@sms.mycricket.com
echo “$msg” | mail -s “$subj” $num2call@messaging.nextel.com
echo “$msg” | mail -s “$subj” $num2call@messaging.sprintpcs.com
echo “$msg” | mail -s “$subj” $num2call@tmomail.net
echo “$msg” | mail -s “$subj” $num2call@email.uscc.net
echo “$msg” | mail -s “$subj” $num2call@vtext.com

Fill in the msg, subj, and num2call fields. Press Ctl-X, Y, then Enter to save your file. Then make it executable: chmod +x sms.sh. Now give it a try: ./sms.sh

You can alter the sender address for your emails from the default of root by inserting an entry like the following in /etc/mail/genericstable: root    joeschmo@gmail.com. Then restart SendMail: service sendmail restart.

Micro$oft Bing. I have to admit that I’ve always had a soft spot for Microsoft. They came from humble beginnings and outsmarted almost everybody during the 80′s and 90′s… until Google entered the picture and did much the same thing to them. You’ve also got to hand it to Microsoft. They may not get it right the first, or second, or third time. But they don’t give up. And their reincarnated search engine, Bing, is worth a look. It includes an Explorer Pane that categorizes search results in a left panel that is customized to your search query. There’s also a Quick Preview providing website popups. The theory is to give you a sneak peak at a particular site to see if it’s what you’re looking for. As with many Microsoft creations, it’s just too slow at the moment to be of much value. Good idea. Not so good implementation.

A good bit already has been written about Bing’s picture and video search capabilities. Suffice it to say, once they tamed the content, it’s worth a look. Actually, it was worth a look even before they tamed the content. :-) But give Microsoft credit, they quickly recognized that there needs to be a way to make the web accessible to younger children and students without exposing them to an endless stream of pornography. What happened to the good old days of reading National Geographic to find all that stuff?

Microsoft’s Farecast technology also is interesting. It brings new, smart tools to the process of purchasing airline and hotel accommodations. Much of this toolkit was acquired by Microsoft, but it’s pretty slick. The downside of Bing, when compared to Google, is that there seems to be a tilt toward Microsoft content in results. And there still is a lot of drill-down (aka Windows) to find exactly what you’re looking for. Both are deeply rooted in the Microsoft psyche so I doubt it’ll ever go away. But have a look anyway. It’s an interesting, new product to at least have in your search toolkit.

Let There Be Music. All-you-can-eat streaming music plans have been around for a while. But there’s never been anything quite like the new Napster service from Best Buy. $5 a month for access to 7 million songs on either your PC or a Sonos sound system is just too good to pass up. We’ve previously written about this so we won’t repeat it all here. Have a look at the article if you’re a music addict. And, if streaming DRM’d music isn’t your thing, check out this PC Mag article on Virgin Media’s new offering. It will let you download an unlimited number of MP3′s from Universal’s entire music catalog for about $20 a month. Unbelievable!

People Tracking. If you glance over to the right margin, you’ll get a good sample of Google’s Latitude offering that pinpoints your location on a Google map using GPS data from your cellphone. AT&T offers something similar for “only” $10-$15 a month. This data can be either the location of the nearest cellphone tower or, if your phone is GPS-enabled, it can be the actual GPS coordinates of your phone. There are obviously privacy issues that need to be weighed, and Google has carefully addressed most of those issues. You can restrict access to select friends, or just family, or no one at all. In coming months, we’re going to build something similar with Google Maps to display a map with the default location of incoming calls on certain color SIP phones. Stay tuned. In the meantime, feel free to monitor our summer vacation as we move from Charleston, to the beach, and back to the mountains. Not too exciting, but it may give you some ideas for future uses of this technology. For those of you with young daughters, think of it as LoJack for Parents!

Footnote: Uh, oh. Google.everything just died. 8:30 a.m., June 16. Bad way to start your day. Good time to check out Bing. :-)

Hurricane Tracking. If hurricanes are a part of your everyday life and you haven’t visited Stormpulse.com yet, you’re missing the ultimate storm tracking site on the net. Not only do they provide up-to-the-minute predictions from all of the world’s best sources, but you also get map overlays showing virtually anything you’d ever want to know that’s weather-related. Unbelievably good! And, for a ringside seat, visit our own Pawleys Island WebCam. We’ll wave to you later this week.

Promising New Asterisk Appliance. Every now and then we read an article about a new Asterisk appliance that really shows some promise. So it is with Michael Graves’ recent writeup of Jazinga, a $1095 Asterisk appliance that does just about anything and everything a small business would ever need in a phone system using a simple but intuitive web interface. Have a look. We think you’ll agree. Very slick, indeed. Only wish it were $595 instead of $1095.

Some Great Blogs. And, speaking of blogs, there are some other telephony blogs in addition to Graves on SOHO VoIP that are worth a look from time to time. Here’s another Baker’s Dozen of our favorites in no particular order:

FreeNum Dialing System. Another new project worth a careful look is FreeNum. Taking a page from Nextel, FreeNum lets you make SIP calls from ordinary telephones after registering your organization. The format of a FreeNum dial string looks like 1234*567 where your extension is 1234 and your ITAD (Internet Telephony Administrative Domain) number is 567. FreeNUM relies upon DNS and, as such, is perfectly suited for transparent use over the Internet. In coming weeks, we’ll have more to say about FreeNUM including a methodology for letting all PBX in a Flash systems register with a shared ITAD for transparent communications worldwide. Here’s the article.

Twitter. The entire planet is aflutter with Twitter. We finally bit the bullet, and we’d be the first to admit that Twitter fills an important gap in today’s Internet-centric 21st century world. Not only does it provide instantaneous searches of very current content, it’s also quite useful as a micro-blogging tool if you like to keep current on technology happenings without always waiting for full-blown articles to appear. Many of the topics in this article were first introduced to Twitter users over the last few weeks. So there’s much more to Twitter than periodic reports of individuals’ bathroom and sleeping habits. You can get a sampling by reviewing our Twitter entries in the right pane of this blog. And there are literally hundreds of Twitter clients to meet your every need. Here’s a link to a great Twitter FAQ. Then give Twitter a try if you haven’t already. NerdUno is looking forward to hearing from you.

Wordle.net. We’ve mentioned Wordle before, but no article on Internet fun would be complete without at least a passing reference. The way Wordle works is that you pass it some text. It then rearranges the words in a hierarchical order that exposes the word usage count of the various words in the text it examined. You can see an example below which took the subject matter from the PBX in a Flash Help Forum and passed it through Wordle. You’ll note that “Resolved” is just about the same size as “problem” and “question.” That actually speaks volumes about the quality of our forum. Give it a try. We think you’ll agree. We’ve done some other samples to give you some ideas: the Gettysburg Address, the Declaration of Independence, and MLK’s I Have A Dream speech. Try a few of your own. It’s a summertime blast. 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…

Ringbinder theme by Themocracy