Introducing ISN: Free SIP Dialing From Any Asterisk Phone

Wouldn't it be nice to pick up any telephone on your Asterisk system and place free SIP calls to anywhere in the world by dialing joe@sip.asterisk.com or any SIP URI? The problem, of course, is that most phones don't include alphanumeric keyboards much less the @ symbol. Well, not to worry. A group of Asterisk gurus headed up by John Todd came up with a clever plan using DNS that lets you dial any SIP URI using the 10 numeric keys plus the asterisk key on any standard telephone keypad. Today, we'll show you how to set up your Asterisk system to support ISN's (aka ITAD Subscriber Numbers).

Overview. In laymen's terms, the trick to ISN dialing is that we pass a number such as 1234*1061 to a DNS server that knows how to translate the numeric sequence into a SIP URI that looks like this: 1234@sip.pbxinaflash.com. In short, it takes the number after the asterisk and resolves it to a fully-qualified domain name which is preconfigured at freenum.org. And the result is inter-domain numeric SIP addressing using ordinary telephone instruments. For our recommended setup, you'll actually dial ISN numbers like this: **1234*1061. The leading asterisks will tell FreePBX to treat this as an ISN dial string.1

Prerequisites. We're assuming that you already have one of the FreePBX-enhanced Asterisk aggregations in place such as PBX in a Flash. If not, start there and then run the Orgasmatron Installer which provides all of the SIP URI functionality you'll need for this project. If you're not using PBX in a Flash, then review our tutorial on SIP URI's which will walk you through getting this functionality set up on your FreePBX-enhanced Asterisk server.

Adjusting Your Phones to Support ISN Dialing. We'll be using a somewhat different dial plan to make ISN calls so you'll probably have to adjust the default dialplan on your actual phones or ATA to get this to work. If you can place ISN calls with a softphone but you get a fast busy when you dial the same number on your hardware-based phones, then it's a dialplan problem. For Aastra phones, you can access the Aastra dialplan settings with a web browser. Just go to the IP address of the phone and login with admin:22222. Click on the Preferences option and you should see Local Dial Plan at the top of the page with an entry that looks like this: x+#|xx+*. Just change it to: x+#|xx+*|'*'xx+* and click the Save Settings button. No reboot of the phone is required. Notice that we've enclosed the asterisk in single quotes in the third option. That's the trick to getting Aastra phones to recognize * as part of an actual dial string. If you're using other phones, consult your user's guide for tips on modifying your dialplan to accommodate an asterisk as the first character in the dial string.

Enabling Outbound ISN Dialing. There are a number of ways to get ISN outbound dialing to work with Asterisk. We're going to show you a couple of methods. You can either set up a trunk and outbound route to handle the calls, or you can add an extension to your system which actual prompts for the ISN number when you dial that extension. There are also two ways to look up ISN numbers at freenum.org. The preferred method is using DNS queries with the new Asterisk ENUMLOOKUP function. An alternative method (which is especially useful with older versions of Asterisk that do not support ENUMLOOKUP) is to use FreeNUM's external public resolver to map ISN dial strings to SIP URIs. With PBX in a Flash and Asterisk 1.4.21.2 or later, both methods work.

Implementing the Trunk Method for ISN Dialing. With this option, you'll be able to pick up any (properly configured) phone on your Asterisk system and dial **1234*1061 to complete a free ISN SIP call. To set this up, we'll add a new trunk and outbound route in FreePBX. Then we'll insert a dialplan script in extensions_custom.conf to finish up. Once you reload your Asterisk dialplan, you'll be good to go.

Open FreePBX in a web browser, and choose Admin, Setup, Trunks, Add Trunk, Add Custom Trunk. Leave the General Settings blank for now. In the Dial Rules, insert X.*X. (be sure to include trailing period!) and, for the Custom Dial String, insert: local/$OUTNUM$@freenum. Click the Submit button to save your settings and reload the dialplan when prompted. Now add an Outbound Route called OutFreeNUM. For the Dial Pattern, use **|X.*X. with the trailing period again. For the Trunk Sequence, choose local/$OUTNUM$@freenum. Save your entries and reload the dialplan once more. Finally, log into your server as root and edit extensions_custom.conf in /etc/asterisk. At the bottom of the file, insert the following code:

[freenum]
exten => _X.,1,Set(TIMEOUT(absolute)=10800)
exten => _X.,2,NoOp(Number to Call: ${EXTEN})
exten => _X.,3,Set(isnresult=${ENUMLOOKUP(${EXTEN},sip,,1,freenum.org)})
exten => _X.,4,GotoIf($["${isnresult}"=""]?6:5)
exten => _X.,5,Dial(SIP/${isnresult},40,r)
exten => _X.,6,Background(ss-noservice)
exten => _X.,7,Congestion
exten => _X.,8,Hangup
exten => h,1,Hangup
exten => i,1,Hangup
exten => T,1,Hangup

For the Outbound Route Dial Pattern, you can get more elaborate so that you don't have to dial the ** prefix. Just be aware that this may not work with all handsets (including the Aastra's). It does work well with Zoiper softphones. Here's the dial pattern we actually use. With this dial pattern, you can dial most ISN numbers directly with no prefix, e.g. 16781234567*1061 works fine.

**|X.*X.
1NXXNXXXXXX*X.
NXXNXXXXXX*X.
XX*X.
XXX*X.
XXXX*X.
XXXXX*X.
XXXXXX*X.
XXXXXXX*X.

Make sure you eliminate the line-wrap on line 3 above. Then save the file and reload your dialplan: asterisk -rx "dialplan reload". Now place a test call by dialing: **1234*1061. If the call doesn't connect to Nerd Vittles' demo site, check the Asterisk CLI and fix any reported errors.

Implementing the Extension Method for ISN Dialing. With this option, you'll be able to pick up any phone on your Asterisk system and dial FREE (3733) to place an ISN call. You'll be prompted to enter the number using the following format: 1234*1061. Note that there are no leading asterisks with this method. Instead of using ENUMLOOKUP to find the ISN number, we'll use FreeNUM's external public resolver to do the ISN translation into a SIP URI.

Log into your Asterisk server as root and edit extensions_custom.conf in /etc/asterisk. At the bottom of the file, insert the following context:

[custom-freenum]
exten => s,1,Answer
exten => s,2,Wait(2)
exten => s,3,Background(pls-entr-num-uwish2-call)
exten => s,4,Read(NUM2CALL,beep,30)
exten => s,5,GotoIf($["foo${NUM2CALL}" = "foo"]?10)
exten => s,6,Set(TIMEOUT(absolute)=10800)
exten => s,7,Background(pls-hold-while-try)
exten => s,8,Dial(SIP/${NUM2CALL}@public.freenum.org,30,m)
exten => s,9,Congestion
exten => s,10,Hangup
exten => h,1,Hangup
exten => i,1,Hangup
exten => T,1,Hangup

Now move to the top of the file and insert the following line in the [from-internal-custom] context:

exten => 3733,1,Goto(custom-freenum,s,1)

Save the changes you've made to the file and then edit (or create, if necessary) sip_custom.conf and insert the following line:

promiscredir=yes

Save the file and then restart Asterisk: amportal restart. Now place a test call by dialing 3733. When prompted for the ISN number, enter 1234*1061 and press # to avoid the timeout delay. Be aware that on non-FreePBX systems, this code would go in sip.conf; however, that file gets overwritten with any FreePBX reload. Hence the reason that we've placed the code in sip_custom.conf.

Creating a SIP URI for Your Asterisk Server. Before you can receive any inbound calls with ISN dialing, you'll need at least one SIP URI for your Asterisk server. The format of a SIP URI is much like an email address: somename@yourdomain.dyndns.org or somenumber@yourdomain.dyndns.org. Step 1 is to register a fully-qualified domain name (FQDN) for your Asterisk server. Step 2 is to actually set up the SIP URI's on your server.

If you already have a registered domain, then we recommend you create a sip subdomain: sip.yourname.org. Then point that subdomain to the IP address of your Asterisk server. If your Asterisk server has a dynamic IP address, then register a subdomain with a service such as dyndns.org and point that domain at your Asterisk server. We've previously covered how to install software on your Asterisk server to make sure your FQDN always resolves to the correct dynamic IP address. Here's the link for DNS-O-Matic.

Once you have FQDN covered, you're ready to set up a SIP URI. With Orgasmastron builds of PBX in a Flash, the work already has been done for you. You should already have a SIP URI of mothership@yourFQDN. For everyone else, the drill involves moving a copy of the [from-sip-external] context into extensions_override_freepbx.conf in /etc/asterisk so that it can be edited without risking an overwrite from FreePBX. To find out the location of the [from-sip-external] context, issue the following commands while logged into your server as root:

cd /etc/asterisk
grep from-sip-external *

The result will look something like this:

extensions.conf:[from-sip-external]
extensions_override_freepbx.conf:[from-sip-external]
sip_general_additional.conf:context=from-sip-external

If the middle line is there, the context already has been copied over. Otherwise, list out the file showing [from-sip-external] which varies depending upon your version of FreePBX: cat extensions.conf. Now cut-and-paste the entire [from-sip-external] context into extensions_override_freepbx.conf. Then edit the override file and add an entry for each SIP URI you wish to create. The entries should be inserted just below the exten => s,1... line. Here are some samples:

exten => 16781234567,1,Goto(from-trunk,${DID},1)

This entry would let you control the routing of 16781234567 by creating a new incoming route in FreePBX with a DID entry of 16781234567. Then you can point the SIP URI to any FreePBX resource, e.g. an extension, ring group, IVR.

exten => e164,1,Goto(from-trunk,e164,1)

This entry would route e164@yourFQDN to the Inbound Route created for a DID number entry of e164.

exten => 18431234567,1,Goto(custom-windyhouse,s,1)

This entry would route incoming calls to 18431234567@yourFQDN to s,1 in a custom context called [custom-windyhouse] in extensions_custom.conf.

exten => 17065439876,1,Dial(SIP/17066313456@sip.otherdomain.com)


This entry would route incoming calls to 17065439876@yourFQDN to another SIP URI.

exten => 12021234567,1,Dial(local/12029876543@from-internal)

This entry would route incoming calls to 12021234567@yourFQDN to a cellphone at 12029876543 using your Asterisk dialplan to choose an appropriate trunk for the call.

exten => 18883331212,1,Dial(SIP/skype_joe@proxy01.sipphone.com)

This entry would route incoming calls to 18883331212@yourFQDN to a Skype user named joe using the free Gizmo5 gateway.

Once you've made all desired SIP URI entries, save the override file and reload your Asterisk dialplan.

Using the PBX in a Flash ITAD Number. So you're probably asking, "What's in this for me?" Well, a couple of things actually. First, if you're a PBX in a Flash user, we want you to join our free calling network. We already have reserved the 1061 ITAD number for our group. Just cut-and-paste the form below, fill in the blanks, and email it to us. We'll set up an ISN number for your server (one per customer, please) so that others can contact you without spending a dime. The other option is to obtain your own ITAD number for your organization and set it up on your own server. We'll get to that in a minute.

If you want to join our club (and we really don't mind if you're not using PBX in a Flash), then cut-and-paste the form below into your email and fill it out. And here's the email link. Once we receive your request, we'll set up an ISN number for you that matches your existing phone number. So, if your phone number is 16781234567, your new ISN number will be 16781234567*1061. Please include your international codes with your phone number. Before we activate your ISN number, we'll place a test call to your SIP URI to verify it's working. Please be sure it is before applying. :-)

Name:
Mailing Address:
Phone Number:
SIP URI for Your Server: _____________@_____________________________
ISN Number (leave blank):
Publish Entry in Directory? Yes or No (choose one)

Obtaining Your Own ITAD Number. We know there are lots of you that prefer to do things yourself. And that's perfectly fine. We're going to quickly show you how. But, if you want to be included in the PBX in a Flash directory, please send us the form above with your own ISN contact number once you get things working.

To get your own ITAD number, visit this link and follow the instructions for requesting your own number. It's easy, but detail matters so do it right the first time! Within a few days, you'll get your shiny new number. And, in a few more days, freenum.org will notify you that your account has been established.

Setting Up An ISN Account at FreeNum.org. Once you receive your login credentials from FreeNUM, log in to your account. Leave the DNS Wildcard setting the way it is. All you have to do is insert your fully-qualified domain name in the FQDN placeholder. For example, if your FQDN were sip.big.edu, then the last part of the DNS entry should look like this:

sip:\\1@sip.big.edu!" .

Save your entry and wait an hour. Then test it by dialing your new ISN number or, after logging into your server as root, use a command like the following. Turn your SIP URI around from 6781234567*1061 so that it looks like this:

dig @freenum.org NAPTR 7.6.5.4.3.2.1.8.7.6.1061.freenum.org.



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


Aretta Introduces Free NetPBX. In an industry first, Aretta Communications is rolling out a free Asterisk hosted solution known as NetPBX Free Edition. The only cost is for the minutes you use, and the free hosted service will support one inbound or outbound call at a time. Everything including the SIP trunking is preconfigured so the system is literally plug-and-play. We'll provide a more in-depth review once we've had some time to play.


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 PBX in a Flash project gets 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...

Add this post to...
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • blinkbits
  • blogmarks
  • Blogosphere News
  • feedmelinks
  • LinkedIn
  • Live
  • MySpace
  • NewsVine
  • Propeller
  • Reddit
  • Scoopeo
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • ThisNext
  • Yigg
  1. The dial string has been modified a bit to mesh with special dial codes in FreePBX. See the comments for details. []

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 PBX in a Flash project gets 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…

Add this post to…
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • blinkbits
  • blogmarks
  • Blogosphere News
  • feedmelinks
  • LinkedIn
  • Live
  • MySpace
  • NewsVine
  • Propeller
  • Reddit
  • Scoopeo
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • ThisNext
  • Yigg

Asterisk TTS: Introducing Today in History

If you're a history buff and want a convenient way to find out everything that ever happened Today in History, then this week's text to speech (TTS) application for Asterisk should be just what you need. Pick up any phone connected to your Asterisk system and dial T-O-D-A-Y (86329 for the spelling-impaired). The script will retrieve today's historical events and today's birthdays of interest from Yahoo News and play the results back to you over the phone using either Flite or Cepstral to handle the TTS translation. To speed up the retrieval process, you can also set this up as a cron job to download the latest events each day while you're sleeping. Thereafter, when you dial T-O-D-A-Y, the results are played back for callers instantaneously.

Prerequisites. If you're using PBX in a Flash, then all of the tools you'll need are already in place. And we have a script for you that will install the application in just a few seconds. For other users, you'll need an Asterisk server with PHP5 and either Flite or Cepstral to handle the text-to-speech chores.

Overview. If you've previously installed other Nerd Vittles text to speech applications, then the drill this time around is quite similar. There's a PHP/AGI script which gets stored in /var/lib/asterisk/agi-bin. In this script (nv-today.php), you can change the default Flite TTS engine to Cepstral by changing the $ttspick variable setting from 0 to 1. Then there is a snippet of dialplan code that needs to be added to the [from-internal-custom] context in extensions_custom.conf for FreePBX installations. Once you reload your Asterisk dialplan, you're ready to go.

How It Works. The PHP/AGI script only does real work once a day. It always checks to see if there is an existing /tmp/today.txt file with today's file stamp. If there is, it exits gracefully. If today's file doesn't exist or if the file's time stamp is earlier than midnight, then the script downloads the latest information for today in history and creates a text file of the data. Then either the Flite or Cepstral TTS engine is called to convert the text file into /tmp/today.wav. The dial plan code is used to answer calls to extension 86329. Then it runs the PHP/AGI script, and finally it plays back /tmp/today.wav. Note: The PHP/AGI script, if run as a cron job or from the command prompt, should never be run as the root user, but only as the asterisk user. Otherwise, the today.txt and today.wav files cannot be replaced by the script when it subsequently is run from the dialplan.

Script Installation. If you're using PBX in a Flash, log into your server as root and issue the following commands:

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

Automatic Updates Using crontab. If you'd like to automatically generate the Today in History files each day, add the following entry to the bottom of /etc/crontab:

01 0 * * * asterisk /var/lib/asterisk/agi-bin/nv-today.php

Manual Installation. For those using a different Asterisk aggregation that includes PHP5, FreePBX, and Flite, add this code to /etc/asterisk/extensions_custom.conf in the [from-internal-custom] context:

exten => 86329,1,Answer
exten => 86329,2,Wait(1)
exten => 86329,3,Set(TIMEOUT(digit)=7)
exten => 86329,4,Set(TIMEOUT(response)=10)
exten => 86329,5,Flite(Please stand bye while we retrieve: Today in History.)
exten => 86329,6,AGI(nv-today.php)
exten => 86329,7,Playback(/tmp/today)
exten => 86329,8,Wait(1)
exten => 86329,9,Hangup

Then issue the following commands from the command prompt after logging in as root:

cd /root
mkdir today
cd today
wget http://bestof.nerdvittles.com/applications/today/today.zip
unzip today.zip
rm -f today.zip
cp nv-today.php /var/lib/asterisk/agi-bin/nv-today.php
chmod 775 /var/lib/asterisk/agi-bin/nv-today.php
chown asterisk:asterisk /var/lib/asterisk/agi-bin/nv-today.php
asterisk -rx "dialplan reload"

Running the Application. Now you're ready for a test run. Pick up any phone connected to your Asterisk system and dial T-O-D-A-Y. After a brief pause to download the data, today's events in history and today's birthdays will be played back over your phone using your favorite text to speech voice. To eliminate the pause the first time the application is run each day, simply add the crontab entry as outlined above. Enjoy!



Free DIDs While They Last. Sipgate is giving away a free U.S. DID with free incoming calls plus 200 free minutes for outbound calls. Better hurry. Here's the trunk setup for FreePBX-based systems:

Trunk name: sipgate

type=peer
username=ACCTNO
fromuser=ACCTNO
secret=ACCTPW
context=from-trunk
host=sipgate.com
fromdomain=sipgate.com
insecure=very
caninvite=no
canreinvite=no
nat=no
disallow=all
allow=ulaw&alaw

Registration Strong: ACCTNO:ACCTPW@sipgate.com/YOUR-DID-NUMBER

ACCTNO is the account number assigned to your sipgate account. ACCTPW is the password for your account. YOUR-DID-NUMBER is your 10-digit DID.

Finally create an inbound route using your actual 10-digit DID and assign a destination for the inbound calls.



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


Twitter Magic. If you haven't noticed the right margin of Nerd Vittles lately, we've added a new link to our Twitter feed. If you explore a little, you'll discover that the user interface now brings you instant access to every Twitter feed from the convenience of the Nerd Vittles desktop. Enjoy!


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 PBX in a Flash project gets 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...

Add this post to...
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • blinkbits
  • blogmarks
  • Blogosphere News
  • feedmelinks
  • LinkedIn
  • Live
  • MySpace
  • NewsVine
  • Propeller
  • Reddit
  • Scoopeo
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • ThisNext
  • Yigg

WordPress Themes