Home » Posts tagged 'superfecta'

Tag Archives: superfecta

The Most Versatile VoIP Provider: FREE PORTING

Spam Phone Call Blocker and CNAM Caching for FreePBX


blank

Blocking spam phone calls has been a challenge to put it charitably. Thanks to some earlier work by Stewart Nelson on the DSLR forum as well as Stewart’s considerable hand-holding in the development of today’s tutorial, we want to introduce a new approach to blocking these calls. The way it works is first time callers that pass the TrueCNAM SPAM check will be prompted to "press 5 to connect." Since most spam calls sit in a queue for several seconds before a live person chimes in, that person won’t hear the prompt. After 10 seconds or an invalid response, a SIT tone is played and the call is disconnected. If you’d prefer, you can send the failed calls to voicemail by uncommenting a single line in your dialplan. When a successful caller calls again, the caller will be connected without encountering the press 5 prompt.1 While today’s approach won’t block every robocaller, our testing suggests that, in combination with TrueCNAM, it will catch more than 95% of the spam callers. Using CallerID Superfecta with CNAM lookups from OpenCNAM coupled with AsteriDex and the Asterisk® Phonebook will provide an extremely low-cost solution both for blocking spammers AND for displaying accurate CNAM data for incoming calls since you’ll only pay for CNAM and TrueCNAM lookups from legitimate callers once.

Here’s the actual dialplan addition that will monitor your incoming calls:

[sub-log-caller]
exten => s,1,NoOp(*** begin sub-log-caller ***)
exten => s,n,GotoIf(${DB_EXISTS(cidname/${CALLERID(num)})}?CNAMCHECK)
exten => s,n,GotoIf($[${DB_EXISTS(SPAMCHECK/deactivate)} = 0]?ACTIVATE)
exten => s,n,GotoIf($[${DB(SPAMCHECK/deactivate)} = 1]?CONNECTNOW)
exten => s,n(ACTIVATE),NoOp(Not yet WhiteListed)
exten => s,n,AGI(truecnam.sh,${CALLERID(number)})
exten => s,n,GotoIf($["${SPAM}"="SPAM"]?FLUNKED)
exten => s,n,Playback(silence/1)
exten => s,n,Playback(to-call-num-press)
exten => s,n,Playback(digits/5)
exten => s,n,Read(MYCODE,beep,1,n,1,10)
exten => s,n,GotoIf($["${MYCODE}" = "5"]?ANONTEST)
exten => s,n(FLUNKED),NoOp(*** Caller FLUNKED screening ***)
;exten => s,n,Dial(local/*701@from-internal) ; uncomment to send to 701 VM
exten => s,n,Zapateller()
exten => s,n,Hangup
exten => s,n,Return()
exten => s,n(ANONTEST),GotoIf($[${CALLERID(num)} > 0]?WHITELIST:CONNECTNOW) 
exten => s,n(CNAMCHECK),Set(CNAM1=${CALLERID(name)})
exten => s,n,Set(CNAM2=${DB(cidname/${CALLERID(number)})})
exten => s,n,GotoIf($["${CNAM1}" = "${CNAM2}"]?WHITELISTED
exten => s,n(WHITELIST),Set(DB(cidname/${CALLERID(number)})=${CALLERID(name)})
exten => s,n,Set(CALLERID(all)="${CALLERID(name)} < ${CALLERID(number)}>")
exten => s,n(WHITELISTED),NoOp(WhiteListed: ${CALLERID(all)})
exten => s,n(CONNECTNOW),NoOp(*** end of sub-log-caller ***)
exten => s,n,Return()

We first introduced some of the CallerID caching concepts in our previous article last May. That article also documented the procedure for adding inbound call processing logic into FreePBX. If you already have implemented the steps outlined in that article, then the only modification required to deploy today’s new spam blocking technique is to replace the [sub-log-caller] context and reload the Asterisk dialplan. NOTE: Some deployments of CallerID Superfecta have an incorrect database password in the Default setup for AsteriDex. The original article will walk you through making the necessary change.

If you’re starting from scratch, stop here for a bit and follow all of the steps in our previous article which now incorporates the spam blocking code as well. Here’s the link to get started. Return here once you’ve completed the initial setup.

If you’re updating a previous deployment, here are the steps. Edit extensions_custom.conf in /etc/asterisk and remove the [sub-log-caller] context toward the end of the file. Then save the file. Next, issue the following commands to move the TrueCNAM script into place and insert the updated [sub-log-caller] context as well as the new [macro-dialout-trunk-predial-hook] context. Then reload your Asterisk dialplan. The dialplan additions will populate the Asterisk Phonebook and also whitelist calls from your PBX as well as incoming calls making it through the Spam Blocker.

cd /tmp
wget http://incrediblepbx.com/sub-log-caller.tar.gz
tar zxvf sub-log-caller.tar.gz
rm -f sub-log-caller.tar.gz
mv truecnam.sh /var/lib/asterisk/agi-bin
cd /etc/asterisk
cat /tmp/sub-log-caller.txt >> extensions_custom.conf
asterisk -rx "dialplan reload"

 

Rotary Dial Phones & Blocked Numbers

If someone you know and love still has a rotary dial phone, then you will need to manually add their number to either AsteriDex or your Asterisk Phonebook. Otherwise, the calls will never make it through the Spam Catcher. You can do this within the FreePBX GUI by accessing Admin -> Asterisk Phonebook. Click + Add Phonebook Entry and enter the 10-digit number for Grandma as well as her name. Add a second entry with Grandma’s 11-digit number in case some of your VoIP providers happen to send 11-digit CallerID numbers. We hasten to add you should normalize the formatting of your CallerID numbers as quickly as you can to avoid double entries. For those in the U.S. and Canada, we recommend the from-pstn-e164-us context for all of your trunks.

If you have lots of friends with rotary dial phones or if you get calls from important, but unknown numbers such as medical offices where Caller ID numbers are blocked, then you probably should consider uncommenting the voicemail option in [sub-log-caller]. Then you at least will get voicemail notifications when one of these callers attempts to contact you. You still will have to manually add them to AsteriDex or the Asterisk Phonebook so they can contact you directly in the future. HINT: Most medical office calls now spoof the main number of the office so you only need to add the office number just as you did with grandma.

Toggling Spam Blocker On and Off

We’ve also included the ability to turn off the Spam Blocker should you ever wish to do so. To disable the Spam Blocker, issue the following command at the Asterisk CLI:

database put SPAMCHECK deactivate 1

To once again enable the Spam Blocker, issue the following command at the Asterisk CLI:

database deltree SPAMCHECK

WhiteListing Previous Callers

We appreciate that you may not want to aggravate callers that have been calling you for years by making them jump through hoops the next time they call. So here’s a quick way to populate your Asterisk Phonebook with the names and numbers of previous callers. For entries where the CNAM is merely the CallerID Number, future calls from these numbers still will be looked up with OpenCNAM to obtain an actual CNAM match. We’ve made a couple of assumptions that you are more than welcome to adjust to meet your own needs. First, we’ve limited the list to callers from the past two calendar years. Second, we’ve only captured calls that lasted more than 15 seconds. We’ll drop down to the Linux CLI to build the list of callers to import. Then we’ll use the FreePBX GUI to import the list into the Asterisk Phonebook. While we’re building the import list, you’ll have two opportunities to prune the list using your favorite text editor. To get started, issue the following commands from the Linux CLI:

mysql -u root -ppassw0rd asteriskcdrdb -Ns -e "select distinct src, clid \\
from cdr where calldate > '2017/01/01' and duration > 15 \\
order by clid asc" > 2YR-full

Now edit the 2YR-full file and remove any complete lines you don’t want to import.

Next, we’ll reformat the CallerID Numbers and Names into a format needed for the import:

cat 2YR-full | cut -f 1 -d '"' | sed 's|[[:space:]]||' > 2YR-numbers
cat 2YR-full | cut -f 2 -d '"' > 2YR-names
paste 2YR-numbers 2YR-names | awk '{print $1,$2,$3,$4}' > 2YR-all
awk '{print $2 " " $3 $4 ";" $1";"}' 2YR-all > 2YR-freepbx.csv

Now we should have our 2YR=freepbx.csv file in its final form for import. Open the file in your favorite editor. The syntax of the entries should be CallerID Name, then a semicolon, then CallerID Number, and then a semicolon. Discard any additional lines you wish to exclude from the import. Once you have all the entries squared away, copy the file to your desktop PC and open FreePBX in your browser. Navigate to Admin -> Asterisk Phonebook. Click Import Phonebook and then Browse. Select the 2YR-freepbx.csv file from your desktop. Then click Upload. Take a final look at the new entries in your Asterisk Phonebook to make sure nothing came unglued, and you’re all set.

TrueCNAM: The Icing on the Spam Cake


blank

A couple years ago we introduced TrueCNAM, a service that provides not only CNAM data but also Caller Reputation scoring. Those that flunk using the revolving caller reputation matrix get disconnected automatically. We strongly encourage you to add the TrueCNAM service to your PBX. The service includes a free tier as well as incredibly reasonable commercial tiers. For background on the service, here’s a link to our previous TrueCNAM tutorial. For today, start by signing up for a TrueCNAM account and obtain an APIkey and APIpassword. Then register at least one of your DIDs with the service. Once you have your credentials and your DID number in hand, edit truecnam.sh in /var/lib/asterisk/agi-bin. Insert these three items at the top of the file and save it to activate TrueCNAM. It doesn’t get much easier than that.

Now make a few test calls to your PBX to assure that everything is working as documented. Enjoy!

Originally published: Monday, November 26, 2018


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


blank
Need help with Asterisk? Join our new MeWe Support Site.


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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



blank


 

  1. Once installed, you can change the voice prompt to a number other than 5 by modifying lines 10 and 12 of the context sub-log-caller which you will find in extensions_custom.conf in the /etc/asterisk directory at the completion of this install. []

Some Fresh CallerID Magic for Incredible PBX 13-13

blank It’s been more than 10 years since we first introduced CallerID Trifecta for Asterisk® and the FreePBX® platform. A few months later it morphed into CallerID Superfecta and, as they say, the rest is history. Today CallerID Superfecta is used by over a million people around the globe to obtain CallerID Name (CNAM) information from over 70 different lookup sources. WOW! Just call me the Proud Papa. What a journey it has been, and our special thanks to the dozens of contributors.

Unfortunately, for those in the United States, most of the lookup sources now are commercial enterprises much like the original Bell Sisters that monopolized CallerID information by keeping it proprietary instead of forwarding CallerID Name data together with the CallerID number of incoming calls. In fact, for many users, the cost of CallerID lookups now is more expensive than the cost of the VoIP trunks carrying the calls. While we can’t solve the problem, we can make the cost of these CallerID lookup services considerably cheaper using a neat little trick with CallerID Superfecta.


blank
blank
blank
blank

Here’s the problem. Many cell phone users don’t subscribe to any service that keeps track of the caller’s identity. The same is true for those using services such as Google Voice. When you receive a call from one of these users, the CNAM provided for the caller will either show something like "Mobile Phone User" or the city and state of the caller’s cellphone provider. This doesn’t keep the commercial CNAM providers from dinging you every time you receive one of these calls. And if your girlfriend calls you a hundred times a month, the commercial CNAM providers charge you for a hundred lookups even when the calls are from the same caller. That ends today. Once you implement this new CallerID add-on, you’ll only get billed for a single CNAM lookup regardless of how many times that person calls your PBX. Better yet, with a little effort, you can quickly replace the CNAM entries of the mystery cellphone and Google Voice callers by inserting their actual names into your Asterisk phonebook using either the FreePBX GUI or the Asterisk CLI. We’ll show you how.

Here’s the trick. CallerID Superfecta lets you prioritize source lookups when incoming calls hit your PBX. For example, you can lookup the CallerID number in AsteriDex and the Asterisk Phonebook in a fraction of a second at no cost. Once there’s a match on the CallerID number of the caller, additional lookups stop. So what we want to do is prioritize the lookups so that the free sources are used before any commercial lookup service is triggered. For the commercial CNAM source in the U.S., we’re going to use OpenCNAM in our examples because their service is one of the easiest and least expensive to implement. All OpenCNAM lookup options are less than a half a cent per lookup. By placing OpenCNAM third in the Default Superfecta lookup sequence, it will only be used when there is no match in either AsteriDex or the Asterisk Phonebook.


blank

Getting Started. It would obviously be a hassle to have to add every caller to one of these phonebooks every time a call arrives on your PBX. So the other half of today’s magic is to automatically add an entry to the Asterisk Phonebook every time a call hits your PBX. Then, the next time you receive a call from that same number, CallerID Superfecta will be able to find it in your free databases instead of querying OpenCNAM for yet another commercial lookup. As a general rule, in the United States, phonebook data is not copyrightable. However, you should consult an attorney for questions regarding the legality of this methodology as it applies to any particular CNAM lookup service.

We’re aware that CallerID Superfecta has had a caching option which provides similar functionality; however, users have reported mixed results and data corruption with that feature so we’ll be implementing a slightly different solution that relies on Asterisk’s extremely reliable SQLite3 database. This also provides the flexibility to customize the entries after completion of a call for more accurate CNAM information on subsequent calls. Unfortunately, a CNAM entry of ATLANTA, GA doesn’t tell you much about the caller even though you paid for the lookup. By inserting these call entries in the Asterisk Phonebook, you then have the option of easily customizing them in multiple ways. Not only will this provide better CNAM data on subsequent inbound calls, but the phonebook can also be used to make outgoing calls and to produce an alphabetized phonebook listing as well.

cd /var/lib/asterisk
sqlite3 astdb.sqlite3 "select key,value from astdb where key LIKE '%cidname/%' order by value"

Upgrading Asterisk Phonebook Module. Before we get too deep in the weeds, let’s get your Asterisk Phonebook module in FreePBX upgraded to resolve a bug in the version that ships with Incredible PBX which won’t let you edit phonebook entries without also adding a speed dial number for each entry. For generic FreePBX platforms, you can use Module Admin to upgrade the Phonebook module. For Incredible PBX platforms, log into your server as root and issue these commands:

cd /root
./gpl-install-fpbx phonebook

Activating CallerID Superfecta. There are three steps in activating CallerID Superfecta. First, configure the Default Scheme for CallerID Superfecta in Admin:CID Superfecta using the settings we previously displayed. Use the Arrow keys to properly order the three lookup sources: AsteriDex, Asterisk Phonebook, and OpenCNAM.


blank

Be advised that there is a credentials mismatch in the Default setup for AsteriDex. To correct this, open the Default configuration for Superfecta and click on the Tool icon to the left of AsteriDex. The username must be root, and the password is passw0rd with a zero. Save your settings.

Next, you need to create and fund an account at OpenCNAM.com. Once your account is established, copy your credentials and insert them into the OpenCNAM lookup source by clicking on OpenCNAM’s tool icon blank:


blank

Once you have saved the Default Scheme, then you need to enable CallerID Superfecta for each of your Inbound Routes under the Other tab in Connectivity:Inbound Routes:


blank

Adding Hook for Inbound Call Processing. One of the decade-old shortcomings of FreePBX has always been the inability to insert dialplan code into the Inbound Call process without forever damaging your ability to add additional DIDs moving forward. While extensions_override_freepbx.conf lets you extract and manipulate large chunks of FreePBX code, the drawback is that once you do that, the flexibility provided by the GUI goes up in smoke unless you remember to always move the newly generated dialplan code back into the override context.

We much prefer a simpler way of inserting custom dialplan code into the Inbound Call processing routine, but it requires a change in the FreePBX Core module. We would caution you about using this except on Incredible PBX 13-13 servers running under CentOS 6 or 7 or Ubuntu 18.04 with Signature Checking Disabled. It will trigger nasty signature checking errors on the FreePBX Dashboard. See the next section for a workaround on generic FreePBX 13 platforms. On Incredible PBX 13 servers, login as root and issue the following commands making sure that you expand the last two lines into a single command before executing it:

cd /var/www/html/admin/modules/core
sed -i "s|new ext_noop('CallerID Entry Point')|new ext_gosub('1','s','sub-log-caller')|" \\
functions.inc.php
mysql -u root -ppassw0rd asterisk -e "update admin set value='true' \\
where variable='need_reload'"
amportal a r

Next, we need to add some supplemental dialplan code to extensions_custom.conf. This code actually populates the Asterisk Phonebook with the new call entries each time a call is received by your PBX:

cd /tmp
wget http://incrediblepbx.com/sub-log-caller.tar.gz
tar zxvf sub-log-caller.tar.gz
rm -f sub-log-caller.tar.gz
cd /etc/asterisk
cat /tmp/sub-log-caller.txt >> extensions_custom.conf
fwconsole reload
amportal restart

Disabling Module Signature Checking. If you’re running FreePBX 13 behind a secure firewall that blocks web access to FreePBX for anonymous users, then here’s a simple way that you can apply the patch above and take advantage of the sub-log-caller functionality without having to endure module signature errors within FreePBX. Simply disable Module Signature Checking. Here’s how:

cd /var/www/html/admin/libraries
sed -i 's|"SIGNATURECHECK", true|"SIGNATURECHECK", false|' modulefunctions.class.php
mysql -u root -ppassw0rd asterisk -e "UPDATE notifications SET candelete =  '1' WHERE  true;"
mysql -u root -ppassw0rd asterisk -e "DELETE FROM notifications WHERE true;"
mysql -u root -ppassw0rd asterisk -e "UPDATE freepbx_settings SET value='0' WHERE \\
keyword='SIGNATURECHECK';"
amportal restart

Adding CNAM data to CDR Listings. One of our concerns with the current CDR implementation in FreePBX is the lack of display of CNAM data for most entries in CDR listings. Currently, the only way to decipher the CNAM information is to use your mouse to hover over each of the CallerID numbers. We much prefer displaying both CallerID Name and Number in the CallerID column of CDR Reports. Here’s how to fix it:

cd /var/www/html/admin/modules/cdr
sed -i "s|cdr_formatSrc($row\['src'], $row\['clid']);|cdr_formatSrc($row\['clid'], \\
$row\['clid']);|" page.cdr.php
amportal a r

Managing Your Asterisk Phonebook. As we mentioned, there are a couple of ways to display and/or update entries in your Asterisk Phonebook that have been populated with OpenCNAM lookups. From the Asterisk CLI, you can display entries like this: database show cidname.

You also can add or update entries using the Asterisk CLI like this:

database put cidname 8431234567 "Mundy, Ward"

The simplest method to manage your Asterisk Phonebook is from within the FreePBX GUI. Simply navigate to Admin:Asterisk Phonebook. There you can edit individual entries and replace generic CNAM entries such as Atlanta, GA within something more descriptive of the caller’d identity. You also have the ability to export the data and even create speed dial entries for frequently called parties. Once Speed Dial numbers have been created, you can reach the party from any phone connected to your PBX by dialing *0 plus the speed dial number.

Finally, you need to complete some additional steps to implement the Spam Call Blocker as documented in this tutorial. Enjoy!

Originally published: Wednesday, May 30, 2018  Updated: Monday, November 26, 2018


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


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


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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



Some Recent Nerd Vittles Articles of Interest…

CallerID Superfecta 2.2.2: International CNAM Directories

blankUnlike Willie Nelson, we’ve always nurtured our software projects hoping some would grow up to be cowboys. Thanks to Tony Shiffer, Jeremy Jacobs, and a whole host of new contributors (Patrick, Zorka, Nixi, UKstevef, and others), nothing even comes close to the success that CallerID Superfecta has enjoyed. What began as Asterisk® CallerID lookups from three sources with the original CallerID Trifecta four short years ago now provides an astonishing 27 CallerID lookup sources from around the world in the latest CallerID Superfecta 2.2.2. And the real beauty of this new beast is the utility permitting new lookup sources to be added without any further software modifications. That’s the tip of the iceberg.

For those that are new VoIP telephony, a brief history lesson will get you up to speed. When you make a phone call, telephone providers have traditionally passed your CallerID number to the receiving carrier while throwing your CallerID name in the bit bucket. The duty fell on the receiving carrier to look up your name in its directory and associate it with the CallerID number for delivery to the receiving telephone. If this sounds absolutely crazy, you’d be right. Who is in a better position to know the name of the calling party: the company initiating the call or the company receiving the call? Duh! That, of course, ignores the fact that the Bell System in particular was in monopoly preservation mode. Since they initially owned both companies, it really didn’t matter. Well, it does today and government regulators for some reason have completely missed this last vestige of the Good Old Boys telephone network. Does it make any sense that over half the phones in the world are mobile phones and you never know who’s calling? </rant>

When VoIP telephony came along, we obviously had to do something about that. Thus was born the CallerID Trifecta, an Asterisk/FreePBX tool allowing you to associate names with phone numbers using your computer and publicly available resources on the Internet. Version 2.2.1 introduced worldwide CallerID lookups. Unfortunately, there was a big gotcha. Some names in other countries use special non-ASCII characters, and delivery of those characters to some telephones sent the phones into the ozone. Not exactly our problem (HINT!), but folks did still want their phones to work. 🙄 CallerID Superfecta 2.2.2 fixes that by adjusting special characters to pure ASCII until the phone manufacturers catch up with the times.

blank

The CallerID Superfecta Design. As originally implemented, CallerID Superfecta let you choose one or more lookup sources for incoming CallerID numbers. When an inbound call arrived, the sources were queried in a specified order, and the first source that provided a matching CallerID name won. The CNAM search result was returned to Asterisk for display on your phone instruments, and the lookup procedure ended. The problem with the original design was that newer and better lookup providers continued to appear so the hard-coded search order wasn’t necessarily ideal for every user or organization, and the providers kept changing formats to make lookups more challenging. In addition, when you receive a call from another country, it made little sense to look up that number in directories in which it obviously would not appear. CallerID Superfecta 2.2.2 fixes that with its new CallerID Schemes support. This lets you tailor CallerID lookups based upon dial strings just as you would do with FreePBX inbound and outbound routes.

What Else Is New? For openers there are a number of new lookup sources as well as some tweaks to older sources that stamped out a few (more) bugs from our previous, sloppy code. 🙂 You’ll also note there’s a new checkbox to Check for New Lookup Sources Online. This lets you easily import all the new lookup sources as they are added to the repository. The web user interface (UI) for FreePBX also has been reworked. You can prioritize the lookups in the order that best meets your needs, and you can tailor lookup sources to match specific CallerID number sequences. There’s also a debug function built directly into the web user interface. By entering a telephone number in the debug field and pressing the debug button on the form, the results from your selected lookup sources together with the latency of each enabled data source can be displayed on the form for you to review. This debug function greatly enhances troubleshooting while serving as a terrific tool to assist you in fine tuning which providers to actually enable and in what order. Providers who can’t be reached, or who perform too slowly, or who provide lousy results can be turned off completely or moved to the bottom of the search order. Finally, CallerID Superfecta 2.2.2 introduces prefix code hooks. This gives developers the ability to trigger an additional outside process when the Caller ID function is initiated. For example, this feature might be used in a call center to allow the system to automatically perform an ODBC query and bring up a customer record for use by a customer service representative.

Installing CallerID Superfecta 2.2.2 Installation or upgrade should be a snap on any of the FreePBX-based Asterisk aggregations including PBX in a Flash, trixbox, and Elastix. First, using a browser on your desktop PC, download CallerID Superfecta 2.2.2 from the Superfecta repository. Do not decompress the .tgz archive. Second, open FreePBX with your browser and choose Admin, Module Admin, Upload Module. Browse and select the superfecta-2.x.x.tgz module from your desktop and click the Upload button. When the upload completes, click local module administration. Scroll down and click CID Superfecta. Click the Install or Upgrade radio button depending upon whether you have previously installed the Superfecta FreePBX module. Click Process, Confirm, Return to install the new module. Reload the Asterisk dialplan when prompted.

Configuring CallerID Superfecta 2.2.2. There really are only two steps to bring CallerID Superfecta on line. First , we’ll configure the lookup sources and search order of the lookups. And then, for each inbound route on your Asterisk system, we’ll tell FreePBX to use CallerID Superfecta as the CallerID lookup source.

blank


To configure CallerID Superfecta, click Admin, Setup, CID Superfecta in FreePBX. If you’re using PBX in a Flash or trixbox, be sure to insert the UserName maint and your FreePBX maint password in the fields provided under General Options. Then choose the Services you’d like to use for queries by clicking on the corresponding Enabled buttons. For those in the U.S., if you’re unfamiliar with previous versions of the product, we’d recommend you start with Addresses, White Pages, Yellow Pages, Any Who, and Telco Data. If you use the Asterisk Phonebook, AsteriDex, or SugarCRM, enable those options as well. Our rule of thumb in prioritizing the searches is to move your personal directories (Asterisk Phonebook, AsteriDex, and SugarCRM) to the top of the list. For the remaining choices, we recommend you start with the following search order: Addresses, White Pages, Yellow Pages, Any Who, and then Telco Data. Telco Data normally returns only the city and state of the caller, not the caller’s name. Who Called requires registration. Once you get everything squared away, click the Save button. Then key in a few known phone numbers in the Debug section of the form and click the Debug button to make sure everything is working as you expected. Take note of the retrieval times and the results and adjust the search order to meet your needs. Remember, the first match on a name using the search sources from top to bottom wins. The other search sources are never consulted for this number.

For additional configuration options and tips on configuring SugarCRM, see this thread on the PBX in a Flash Forum.

Once you’re satisfied with your lookup sources and the search order, the only remaining step is to designate CID Superfecta as the CallerID lookup source in your inbound routes. For each inbound route on which you want CallerID lookups performed, click Admin, Setup, Inbound Routes and choose the desired route from the column of routes on the right margin. Scroll to the CID Lookup Source section of the form and choose CID Superfecta from the dropdown box. Click Submit, Apply Config Changes, Continue to save your entry.

Adding Support for More Countries. So… here’s the challenge. We need to finish the rest of the world. If your country is not yet supported in the following list of directories, do us all a favor and post a comment with a good Internet source for reverse name directory lookups in your area of the globe. This means you can plug in a phone number and the directory will return the name of the person or business associated with that number. Even if you’re not a programmer, providing this information will assist greatly in making even more sources available to everyone down the road. Here’s the list as it stands today:

blank

Adding Your Number to Directories. We know some of you are wondering how to get your VoIP number or Google Voice number added to the phone directories. It’s easy at least in the United States! Just go to www.listyourself.net and sign up. Enjoy!


Twitter Feeds on Nerd Vittles. If you glance over to the right column just above the Google Maps, you’ll see the current Twitter feed for @NerdUno. But did you know you also can read anyone else’s tweets or list from the same UI? Just scroll to the bottom of the frame and try one of these: voipusers (for the VoIP Users Conference feed) or voipusers/voip-users-conference (for recent tweets from all members of VUC). No need to type @. We’ll handle that keystroke for you. 🙂


Enhanced Google Maps. In case you haven’t noticed, we’ve added yet another Google Map to Nerd Vittles. Now, in addition to showing our location with Google Latitude, we also are displaying your location based upon your IP address. We’ll show you how to add something similar to any LAMP-based Linux system in coming weeks. It’s a powerful technology that has enormous potential. If you’re unfamiliar with Google Maps, click on the Hybrid and Satellite buttons and then check out the scaling and navigation options. Double-click to zoom. Incredible!


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.


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


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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


Some Recent Nerd Vittles Articles of Interest…

Asterisk CallerID Perfected: CallerID Superfecta 2.0

blankIf you’re new to VoIP and Internet Telephony, it may come as a shock when you discover that incoming calls no longer display the names of your callers unlike your POTS CallerID service. The problem is that most telephone providers deliver only a CallerID number when sending calls. Your DID service provider is responsible for looking up the incoming number in their directory and supplying a matching name. Simply stated, CallerID numbers are pushed to recipients, but CallerID names must be pulled from in-house databases. With Ma Bell and siblings, this was easy because they had a monopoly on all of the records. They’ve done their best to preserve that advantage. For example, Google provides very good CallerID information for people in the traditional phone book but provides no facility for adding numbers of those that don’t have a Ma Bell line. Coincidence? Probably not. With Internet Telephony Hosting Providers, CNAM lookups are few and far between. A few now will provide CallerID lookups but only on a per call fee basis.

A similar problem arises for outbound VoIP calls that you place. Even though you may provide a CallerID name and number, most telephone companies throw the supplied CallerID name in the bit bucket and do their own lookups. If you’re not in their directory, your number or nothing will be supplied instead of your actual name. Bottom line: This is one major piece of the telephone monopoly that Judge Greene forgot to address. And it’s only going to get worse now that more people own cellphones than Ma Bell landlines.

With Asterisk®, the simplest solution is to do your own CNAM lookups. And today we’re delighted to introduce CallerID Superfecta 2.0, a FreePBX module with incredible flexibility. It also serves as a living testament to how open source development actually should work.

The History Lesson. We originally wrote an AGI script for Asterisk@Home known as the CallerID Trifecta. As sources of CNAM lookups expanded, a number of other individuals contributed code to support those lookups. The original application morphed into the CallerID Superfecta when these new sources were added, but all the code still resided in a difficult-to-maintain PHP/AGI script. Tony Shiffer picked up the ball last year and converted the CallerID Trifecta into a FreePBX module which made it incredibly easy to install the application and configure the providers you wished to use. Fast forward to today, and now Jeremy Jacobs, with help from other members of the PBX in a Flash Forum community, has taken the original work of a number of PBX in a Flash Forum participants and released a real masterpiece, CallerID Superfecta 2.0. It’s not only easy to install and configure, but now it’s incredibly flexible and simple to expand as more and more people begin contributing lookup routines to this open source project. And Tony has put the icing on the cake with a new SVN development site to track bugs and feature requests for this project and others as we move forward.

blank


The CallerID Superfecta Design. As originally implemented, CallerID Superfecta let you choose one or more lookup sources for incoming CallerID numbers. When an inbound call arrived, the sources were queried in a specified order, and the first source that provided a matching CallerID name won. The CNAM search result was returned to Asterisk for display on your phone instruments, and the lookup procedure ended. The problem with the original design was that newer and better lookup providers continued to appear, the hard-coded search order wasn’t necessarily ideal for every user or organization, and the providers kept changing formats to make lookups more challenging. CallerID Superfecta 2.0 fixes all of that!

What’s New. For openers there are a number of new lookup sources as well as some tweaks to older sources that stamped out a few bugs from our previous, sloppy code. 🙂 The web user interface (UI) for FreePBX also has been totally reworked. Now you can prioritize the lookups in the order that best meets your needs. And, as new CNAM lookup sources become available, they are automatically added to the new UI. The code also has been modularized with separate templates for each provider. This makes the addition of new lookup sources incredibly simple to implement. There’s also a new debug function built directly into the web user interface. By entering a telephone number in the new debug field and pressing the debug button on the form, the results from your selected lookup sources together with the latency of each enabled data source are displayed on the form for you to review. This new debug function greatly enhances troubleshooting while serving as a terrific tool to assist in fine tuning which providers to actually enable and in what order. Providers who can’t be reached, or who perform too slowly, or who provide lousy results can be turned off completely or moved to the bottom of the search order. Finally, CallerID Superfecta 2.0 introduces prefix code hooks. This gives developers the ability to trigger an additional outside process when the Caller ID function is initiated. For example, this feature might be used in a call center to allow the system to automatically perform an ODBC query and bring up a customer record for use by a customer service representative.

Installing CallerID Superfecta 2.0. Installation and setup should be a snap on any of the FreePBX-based Asterisk aggregations including PBX in a Flash. First, using a browser on your desktop PC, download CallerID Superfecta 2.0 from the Superfecta repository. Do not decompress the .tgz archive. Second, open FreePBX with your browser and choose Admin, Module Admin, Upload Module. Browse and select the superfecta-2.x.x.tgz module from your desktop and click the Upload button. When the upload completes, click local module administration. Scroll down and click CID Superfecta. Click the Install or Upgrade radio button depending upon whether you have previously installed the Superfecta FreePBX module. Click Process, Confirm, Return to install the new module. Reload the Asterisk dialplan when prompted.

Configuring CallerID Superfecta 2.0. There really are only two steps to bring CallerID Superfecta on line. First , we’ll configure the lookup sources and search order of the lookups. And then, for each inbound route on your Asterisk system, we’ll tell FreePBX to use CallerID Superfecta as the CallerID lookup source.

blank


To configure CallerID Superfecta, click Admin, Setup, CID Superfecta in FreePBX. If you’re using PBX in a Flash or trixbox, be sure to insert the UserName maint and your FreePBX maint password in the fields provided under General Options. Then choose the Services you’d like to use for queries by clicking on the corresponding Enabled buttons. If you’re unfamiliar with previous versions of the product, we’d recommend you start with Addresses, White Pages, Yellow Pages, Any Who, and Telco Data. If you use the Asterisk Phonebook, AsteriDex, or SugarCRM, enable those options as well. Our rule of thumb in prioritizing the searches is to move your personal directories (Asterisk Phonebook, AsteriDex, and SugarCRM) to the top of the list. For the remaining choices, we recommend you start with the following search order: Addresses, White Pages, Yellow Pages, Any Who, and then Telco Data. Telco Data normally returns only the city and state of the caller, not the caller’s name. Who Called requires registration. Once you get everything squared away, click the Save button. Then key in a few known phone numbers in the Debug section of the form and click the Debug button to make sure everything is working as you expected. Take note of the retrieval times and the results and adjust the search order to meet your needs. Remember, the first match on a name using the search sources from top to bottom wins. The other search sources are never consulted for this number.

For additional configuration options and tips on configuring SugarCRM, see this thread on the PBX in a Flash Forum.

Once you’re satisfied with your lookup sources and the search order, the only remaining step is to designate CID Superfecta as the CallerID lookup source in your inbound routes. For each inbound route on which you want CallerID lookups performed, click Admin, Setup, Inbound Routes and choose the desired route from the column of routes on the right margin. Scroll to the CID Lookup Source section of the form and choose CID Superfecta from the dropdown box. Click Submit, Apply Config Changes, Continue to save your entry. Enjoy!

Good Things Are Coming. Sometimes you can just sense that something really terrific is about to happen with a project that’s been properly nurtured. So it is with PBX in a Flash. Many of us invested countless hours in the Asterisk@Home project, but it just never quite took off in terms of fostering independent development. And that is what open source is all about. When we started the PBX in a Flash project with Tom King and Joe Roper, we wanted something different, a participatory platform that could get folks excited about Internet telephony and open source development. As long time readers of this column know, we’ve pumped lots of applications into PBX in a Flash in hopes of encouraging others to catch the spark. Well, we’ve made it. CallerID Superfecta 2.0 is a perfect example of a creation from a developer who hasn’t previously contributed to any open source project. And there now are many more in the works. So we’re excited for the Asterisk community. Seeing your baby grow up is quite a thrill. We’re quickly building a network of application developers and contributors of many varieties, and it is starting to transform a really good telephony toolbox into a really spectacular application platform. Have a look at this new project to get a glimpse of what lies ahead.

This isn’t a private club. If you’d like to participate in a big or a small way, please visit our new, non-denominational Development Site and kick the tires. The objective is to create applications that can run on any of the FreePBX-based Asterisk distributions. So, while we’re a little biased, you don’t have to be to join in on the fun. Just click the Register link at the top of the form. Welcome!!!

Other Coming Attractions. Well, we got distracted again this week because CallerID Superfecta 2.0 was such as terrific new product. We’ll wrap up the Orgasmatron Installer tutorial in our next column. Stay tuned!

Security Alert. Secunia has published some security vulnerabilities in FreePBX. Upgrade all of your FreePBX modules at your earliest convenience.


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.


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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


Some Recent Nerd Vittles Articles of Interest…

A Baker’s Dozen Asterisk Nuggets from the Forums

blankWhether you’re new to the Open Source VoIP Community or an old-timer, we wonder how many folks actually miss many of the terrific Asterisk® applications that are hidden in message threads on the various Asterisk forums around the globe. In honor of St. Patty’s Day, today we want to take a stroll through the PBX in a Flash forum just to demonstrate what you may be missing by not visiting the forums or subscribing to some of the better syndication feeds.

Skype Gateway to Asterisk. If you read our recent column on integrating a Skype gateway into your Asterisk server, good for you. But, if you missed the forum dialog which followed release of the article, you missed all sorts of enhancements and system integration tips which made the Skype gateway a much better fit on many systems.

CallerID Superfecta. One of the most perplexing issues facing those that implement VoIP telephony solutions is wrestling with CallerID issues which flow from the ongoing Baby Bell phonebook monopoly. Many of you may have tried our CallerID Superfecta application which provides CallerID lookups for FreePBX-based systems using AsteriDex, Google Phonebook, AnyWho, and WhitePages. But, if you’d explored the forum additions to CallerID Superfecta, you would have uncovered an incredibly slick FreePBX installer as well as support for WhoCalled.us and Telcodata plus SugarCRM as well as numerous fixes for syntax changes on the various lookup sources.

Faxing with Asterisk. Other than CalleriD, there’s probably no issue that generates more consternation in the Asterisk community than fax integration. We reintroduced nvfax for Asterisk 1.4 recently. But, if you’d been following the forums, you’d also know that HylaFax and AvantFax now can be easily integrated into PBX in a Flash thanks to the work of Joe Roper and Tony Shiffer.

A2Billing for Asterisk. Another application that’s been difficult to get working with Asterisk has been A2Billing, a sophisticated calling card and PBX billing system. There really never has been a clear, concise cookbook for getting the software installed and properly configured. Once again, thanks to Joe and Tony, this forum thread provides a step-by-step tutorial for getting every facet of A2Billing installed and properly configured.

Asterisk Stickies. This is another promising Asterisk web application for PBX in a Flash that pops up stickies when incoming calls are received. You then can add the contact to your phonebook and also generate the XML code to update the phone directory on Grandstream and Cisco phone sets. It also supports click-to-dial from the web interface. You can keep up with the progress of this developing application in this very active message thread.

Text-to-Speech FreePBX Module. Just today a new TTS module for FreePBX was introduced which lets you generate TTS announcements for use with any FreePBX-based Asterisk system.

Overhead Paging with Asterisk 1.4. Most workplaces need some sort of overhead paging system. With the tips in this thread and any Asterisk 1.4 server, it’s incredibly easy to implement.

Streaming Music on Hold. We introduced streaming audio for Asterisk over three years ago in the Asterisk 1.2 days. A new message thread has updated that technology to support Internet radio using any Asterisk 1.4 server.

Email Alerts on Trunk Failures. For those that rely upon Asterisk systems to do real work, it’s essential to know when access to your carrier has failed so that you can make adjustments to your outbound and inbound trunks. This thread provides a simple tutorial and script to get you started.

Outbound Emails with Asterisk and SendMail. Another one of our Top 5 most perplexing problems with Asterisk is getting an outbound email capability with SendMail working reliably. Part of this is the configuration hassles with SendMail. But service providers such as Comcast have made matters worse by blocking outbound access to port 25 on most non-business accounts. Here’s a message thread that will walk you through configuring SendMail to use Gmail as your outbound SMTP relay host, and you’ll never have an email problem again on your Asterisk server.

Voicemail Notification. Unified messaging may be everyone’s dream but the reality is that it would be nice to be called on your cellphone when a new voicemail arrived at your office. The Voicemail Notification System does just that. And this thread integrates the original design into a FreePBX module.

Configuration Editor for FreePBX. FreePBX stores much of its magic in Asterisk config files. At least in PBX in a Flash, we hide some of these files to protect the integrity of your system. In addition, changes made to some of these files will get overwritten the next time FreePBX is started since it populates a lot of the information in these config files from data stored in MySQL tables. For those that want to learn more about the FreePBX, there now is a configuration file editor which will let you view and edit any FreePBX config file on your system. You’ll find a complete tutorial in the forums.

Hotel-Style Wakeup Calls. A few weeks ago we covered Tony Shiffer’s new add-on module for FreePBX that provides hotel-style wakeup calls for Asterisk systems. This code actually had been available in the forum for several months and is yet another reason to frequently check the new message threads.

Mac OS X Scripting Package. Since publication, a new link to a Treasure Trove of Goodies for Mac OS X has been posted including a link to the new Mac OS X Scripting Package and Asterisk binaries for Mac OS X from Sven Slezak at Mezzo.

Syndication Syntax. Many forums provide a syndication feed link, but many do not. For vBulletin-based forums, the basic syntax for an RSS feed looks like this:

http://fqdn.com/forum/external.php

You can refine the type of feed you want by specifying the type: RSS, RSS2, ATOM, or XML. For example, to pull down a feed from the PBX in a Flash forum, here’s the syntax for the various formats that are supported:

http://pbxinaflash.com/forum/external.php?type=RSS

http://pbxinaflash.com/forum/external.php?type=RSS2

http://pbxinaflash.com/forum/external.php?type=ATOM

http://pbxinaflash.com/forum/external.php?type=XML

You can further refine the feed by narrowing it down to a particular forum of interest. For example, to retrieve the latest threads from the PBX in a Flash Open Discussion forum, the syntax looks like this:

http://pbxinaflash.com/forum/external.php?type=RSS2&forumids=2

Finally, here’s the list of forum ID numbers for the PBX in a Flash forum:

2 – Open Discussion
3 – Help
4 – Endpoints
5 – Trunks
6 – Providers
7 – Wish List
9 – Bug Reporting & Fixes
10 – Add-On Install Instructions

Something We Missed? There are hundreds of additional Asterisk apps hiding in the woodwork. Please share your discoveries by posting a comment and link below. Enjoy!


blankWant a Bootable PBX in a Flash Drive? Our Atomic Flash bootable USB flash installer for PBX in a Flash has been quite the hit. Special thanks to all of our generous contributors! Atomic Flash provides all of the goodies in the VPN in a Flash system featured last month on Nerd Vittles. You can build a complete turnkey system using almost any current generation PC with a SATA drive and this USB flash installer in less than 15 minutes!

If you’d like to put your name in the hat for a chance to win a free one delivered to your door, just post a comment with your best PBX in a Flash story.1

Be sure to include your real email address which will not be posted. The winner will be chosen by drawing an email address out of a hat (the old fashioned way!) from all of the comments posted over the next several weeks.

And it still isn’t too late to make a contribution of $50 or more to the PBX in a Flash project and get a free Atomic Flash installer delivered to your door as our special thank you gift. See this Nerd Vittles article for details.


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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


Some Recent Nerd Vittles Articles of Interest…

  1. This offer does not extend to those in jurisdictions in which our offer or your participation may be regulated or prohibited by statute or regulation. []

Asterisk 101: Some CallerID Tips & Tricks

blankIf you're relatively new to Internet Telephony and VoIP, then it may come as a bit of a surprise when CallerID for incoming calls shows the phone number for both the name and number of the incoming caller or when names that popped up using your plain old telephone's CallerID service no longer do. The problem is that most telephone providers only deliver a CallerID number when sending calls. Thus it is left to your service provider to look up the incoming number in a directory and supply the matching name. To put it another way, CallerID numbers are pushed to recipients, but CallerID names must be pulled from in-house databases. With Ma Bell and siblings, this was easy because they had all of the records. With some Internet Telephony Hosting Providers, it's a different story. The reverse is also problematic. Even though you may provide a CallerID name and number, most telephone companies throw the supplied CallerID name in the bit bucket and do their own lookups. So... if you're not in their directory, your number or nothing will be supplied instead of your actual name. Just another last vestige of monopoly preservation. With Asterisk®, the simplest solution to this mess is to do your own lookups. And today we have an updated CallerID directory lookup service to assist: the CallerID Superfecta.

NOTE: This article has been superseded. Continue reading the latest article here.

We have a second utility as well. Since moving to PBX in a Flash and Asterisk 1.4 and 1.6, we haven't provided a simple way to block or screen anonymous calls, i.e. those that show up in CallerID as either blank, anonymous, unknown, private, restricted, or toll free number. As they say, those are the usual suspects when it comes to weeding out unwanted callers. And today we'll provide several solutions from which you can choose. Our personal preference is to never answer these calls and route them straight to voicemail. You may be more curious than we are so we'll show you an option to screen calls using the Asterisk Parking Lot feature. Still others may hate these callers so much that you send them into IVR hell for hours at a time. And we've got some suggestions on that one, too.

Introducing CallerID Superfecta. We've dusted off an oldie but goodie today and reworked it a bit for newer versions of PHP. We also want to thank taiter and M Joyner for their whitepages.ca contribution to what used to be our CallerID Trifecta. The CallerID Superfecta now lets you choose up to four CallerID lookup sources for your incoming calls. The sources include the Google Phonebook, AnyWho, WhitePages, and our very own AsteriDex address book and robodialer. Complete installation instructions are available from our Best of Nerd Vittles site.

Installation and setup is a snap on all of the FreePBX-based aggregations including PBX in a Flash, Elastix, and trixbox. First, download and unzip the callerid.zip file into the root directory of the web server on your Asterisk system. Next, configure the sources you wish to use in callerid.php by setting the desired sources to 1 instead of 0 on the second page of the file. Then define the new CallerID Lookup Source in FreePBX. And finally, select the CallerID Superfecta as the lookup source for each of your Inbound Routes. The whole setup should take you less than two minutes. Now sit back and enjoy a much enhanced CallerID experience when incoming calls arrive on your Asterisk server.

Introducing the Creep Detector. Well, not so fast. The CallerID Superfecta doesn't get rid of the creeps that call wanting to sell you something or urging you to vote for your favorite Coroner. For that, you'll need a couple of tools. FreePBX includes an excellent web-based implementation of the Asterisk Blacklist. It allows you to specify the phone numbers of calls that should be blocked. You also can do this with a phone on your system by dialing *32 to blacklist the last caller or *30 to blacklist a specific phone number.

But, what about blacklisting all of those anonymous callers. Well, there's not an existing function in FreePBX to do it. Our preferred method goes like this. When an incoming call arrives, a message plays saying "Thanks for calling the Mundy's. Please hold a moment while I connect your call." During this message, a Stealth AutoAttendant will allow family members to press various buttons to be connected to various extensions. See the previous article for details. Once the IVR times out (in about 5 seconds), the call is passed to a Privacy Checker which screens the calls for creeps. If the call isn't identified as such, it is sent to a ring group. If a creep is detected, the system first plays a message that says: "Press 8 to be connected." If no key is pressed, we hang up. If 8 is pressed, the call goes to voicemail 704. If 4 is pressed, the call is passed to the ring group. This lets friends calling from phones with CallerID blocked still get through the maze.

So here's how to get it installed and working. Log into your server as root and add the following code snippet to the bottom of /etc/asterisk/extensions_custom.conf:

[custom-privacy-check]
exten => s,1,SetMusicOnHold(default)
exten => s,2,GotoIf($["${CALLERID(num)}" = ""]?s,16)
exten => s,3,GotoIf($["foo${CALLERID(num)}" = "foo"]?s,16)
exten => s,4,GotoIf($["${CALLERID(name):1:8}" = "nonymous"]?s,16)
exten => s,5,GotoIf($["${CALLERID(name):1:6}" = "nknown"]?s,16)
exten => s,6,GotoIf($["${CALLERID(num):1:6}" = "rivate"]?s,16)
exten => s,7,GotoIf($["${CALLERID(name):1:6}" = "rivate"]?s,16)
exten => s,8,GotoIf($["${CALLERID(num):1:9}" = "estricted"]?s,16)
exten => s,9,GotoIf($["${CALLERID(num):0:4}" = "PSTN"]?s,16)
exten => s,10,GotoIf($["${CALLERID(num):1:3}" = "oll"]?s,16)
exten => s,11,GotoIf($["${CALLERID(name):1:2}" = "--"]?s,16)
exten => s,12,GotoIf($["${CALLERID(name):0:1}" = ","]?s,16)
exten => s,13,GotoIf($["${CALLERID(name):1:3}" = "oll"]?s,16)
exten => s,14,GotoIf($["${CALLERID(num):0:3}" = "000"]?s,16)
exten => s,15,Dial(Local/777@from-internal)
exten => s,16,Playback(custom/nv-press8)
exten => s,17,Set(TIMEOUT(digit)=10)
exten => s,18,WaitExten(10)
exten => s,19,Hangup
exten => 4,1,Dial(Local/777@from-internal)
exten => 4,2,Hangup
exten => 8,1,VoiceMail(704@default)
exten => 8,2,Hangup

You'll need to make a couple of changes in the code above before using it. In lines s,14 and 4,1, modify extension 777 to reflect an extension or ring group on your phone system that you want to call after incoming calls are screened for creeps. In line 8,1, modify 704 to reflect a voicemail box that is active on your system and that should be used for recording messages from unwanted callers.

The next step is to add the "Press 8 to be connected" message to your system. While still logged in as root, issue the following commands:

cd /var/lib/asterisk/sounds/custom
wget http://bestof.nerdvittles.com/applications/callerid/nv-press8.wav
chown asterisk:asterisk nv-press8.wav
chmod +x nv-press8.wav

Now we need to configure your FreePBX setup to use the code above. The easiest way is to modify your Stealth AutoAttendant IVR and simply change the timeout destination (t) to a Custom App: custom-privacy-check,s,1. Save your changes and reload your dialplan, and you're all set.

Some additional ideas have also been floated on the PBX in a Flash Forum for handling anonymous callers. If you'd prefer to park these calls and announce them, see this thread. And here's an embellished version that gives you options to accept the call, send it to voicemail, or banish the caller. Enjoy!


 

Special Thanks to Our Generous Sponsors


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

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

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

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

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


Some Recent Nerd Vittles Articles of Interest...