As September comes to a close, we wanted to offer up some simple tips and tricks to get the most out of Incredible PBX® 16-15. Many of these already have been covered on the PIAF Forum so, if you’re not already a subscriber, sign up to keep up with the latest information. Perhaps the most frequently asked question concerns the painfully slow restarts that some folks experience with SendMail and/or Fail2Ban. So let’s start there.

Assigning an FQDN to Your Server

Many system services depend upon identification of the fully-qualified domain name (FQDN) assigned to your server. If you don’t have one, services such as Fail2Ban and SendMail have a difficult time starting and restarting. This includes the iptables-restart script which includes a restart of the Fail2Ban service. With SendMail, you not only will have difficulty restarting the service, but outbound email delivery also will fail since SendMail always checks for a valid sender email address before sending out a message.

If you don’t have a domain that you control, you can always use a free dynamic DNS service such as No-IP which has the added advantage of managing changes in your host’s IP address if you don’t have a static IP address.

Once you have an FQDN for your server, here are the simple steps to assign it to your server. First, edit /etc/hosts, add the FQDN immediately after 127.0.0.1, and then save the file. Next, edit /etc/hostname and replace the default entry with your FQDN. Finally, issue the following command using your actual FQDN: hostname FQDN.

Now you can test restarting Fail2Ban and SendMail with the following commands:

systemctl restart sendmail
systemctl restart fail2ban

And you can check the status of the two services with the following commands:

systemctl status sendmail
systemctl status fail2ban

Configuring SendMail/Exim with Incredible PBX 16-15

You’re not out of the woods yet if you wish to use SendMail (CentOS) or Exim (Raspbian) to deliver email and voicemail messages. Unless your PBX is in the Cloud with a public IP address on the Internet, be advised that many hosting providers such as Comcast, Spectrum, and AT&T block downstream mail servers from sending email. If you’re using one of these services in your home or office, the solution is to use Gmail or your local ISP as a smart relay host to send mail from your server. Setup instructions for SendMail on the CentOS 7 platform are available here. Setup instructions for Exim on the Raspberry Pi are available here.

Blocking Call Scammers and Robocalls

As election season kicks into high gear, expect robocalls to go through the roof. Not that the diehard scammers care but Congress exempted all politicians from the rules pertaining to robocalls. And then there are those that spoof a phone number similar to yours in order to treat you to the latest car warranty deal or Caribbean vacation. So here’s a way to block 99% of these callers, almost all of whom depend upon autodialers and call center software to distribute calls to live operators once you answer the call.

The design is simple to implement with Incredible PBX. Instead of answering incoming calls with a standard AutoAttendant or IVR, we’ll play a brief announcement followed by a request that the caller "press 7″ or some other number to be connected. When the caller doesn’t press the requested number within a brief number of seconds, Incredible PBX will hangup the call.

Many SIP providers support the early media feature which lets two SIP user agents communicate before a call is actually answered. If your provider supports this and you pay by the minute for inbound call traffic, then we’ll show you how to use the early media feature to block these callers without ever answering the calls and incurring charges. The easiest way to determine whether your SIP provider supports early media is to implement the early media code below and try a test call. If you hear the greeting message after dialing your own number, then early media is supported. If not, use the other dialplan code.

Incredible PBX already includes all the tools you’ll need to implement this. We’ll use a little modified Announcement dialplan code to greet the caller with Allison’s Generic Welcome message: "Thank you for calling. Please hold a moment while we locate someone to take your call." Then we’ll tack on an extra message which says: "To continue in English, press 7." If you’d prefer a different number, you can modify the dialplan code below accordingly.

Add this early media dialplan code to the end of /etc/asterisk/extensions_custom.conf. If you prefer a number other than 7, then replace "7″ in both lines 4 and 6 below:

[hello-caller]
exten => s,1,Progress
exten => s,n(begin),Noop(Playing announcement Howdy as Early Media)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,Playback(custom/nv-GenericWelcome&silence/1&continue-in-english&press-7,noanswer)
exten => s,n,WaitExten(,)
exten => 7,1,Goto(ivr-1,s,1)
exten => t,1,Hangup
exten => i,1,Hangup
exten => fax,1,Noop(Fax detected!)
exten => fax,2,Goto(custom-fax-iaxmodem,s,1)
;--== end of [hello-caller] ==--;

In the FreePBX GUI, add a new Custom Destination:

Target: hello-caller,s,1
Description: Scam Blocker

In the FreePBX GUI, modify the Inbound Route for each DID and set the Destination to Custom Destination: Scam Blocker. Save your settings and reload your dialplan.

Now place a test call to your DID and see if you hear the greeting message. If so, you’re done.

If not, edit /etc/asterisk/extensions_custom.conf and replace the [hello-caller] context at the bottom of the file with the following. You can replace "7″ on lines 6 and 8, if desired. Then reload your dialplan: asterisk -rx "dialplan reload". Then place another test call.

[hello-caller]
exten => s,1,GotoIf($["${CHANNEL(state)}" = "Up"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Noop(Playing announcement Howdy)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n(play),Background(custom/nv-GenericWelcome&silence/1&continue-in-english&press-7,nm)
exten => s,n,WaitExten(,)
exten => 7,1,Goto(ivr-1,s,1)
exten => t,1,Hangup
exten => i,1,Hangup
exten => fax,1,Noop(Fax detected!)
exten => fax,2,Goto(custom-fax-iaxmodem,s,1)
;--== end of [hello-caller] ==--;

Separating Friends from Foes with Fail2Ban

If you’ve ever locked yourself out of your server when Fail2Ban mistakenly believed you were one of the bad guys, welcome to the club. Here’s the simple way to make sure it never happens again. First, deploy a NeoRouter Server and activate the NeoRouter Client on both your PBX and desktop machines. Always login to your PBX using the 10.0.0.x NeoRouter Client IP address of your PBX. Next, edit /etc/fail2ban/jail.conf. Scroll down to the [DEFAULT] section and edit the line which begins with ignoreip. Make certain the line includes the following entries. Then save the file and restart Fail2Ban: systemctl restart fail2ban

ignoreip = 127.0.0.1/8 10.0.0.0/24

You can always check who is currently banned with the command: iptables -nL

And you can unban an IP address by logging in to SSH from a different IP address and using the chain name and banned IP address shown in iptables -nL with the following command:

fail2ban-client set apache-forbidden unbanip xx.xx.xx.xx

Adding Outbound CNAM Data to CDRs

In many implementations, it’s useful in Call Detail Records (CDRs) to be able to associate names (CNAM) with outbound calls just as we do with incoming calls. One of our earliest Asterisk applications, CallerID Superfecta, provides an easy way to do that with just a little tweaking in Incredible PBX 16-15.

1. Open the FreePBX GUI in a browser and go to Admin -> CID Superfecta. There should be one Default setup but it’ll show as disabled. For some quirky reason, you can’t make enabling it stick so click on the third (COPY) option under Actions to create a second setup. Then go down to that one and click the first button (Enable) under Actions. Make future setup changes to CallerID Superfecta by clicking on that setup.

2. Next, log into your server as root and issue the following commands:

cd /root
wget http://incrediblepbx.com/dialout-cnam.tar.gz
tar zxvf dialout-cnam.tar.gz
rm -f dialout-cnam.tar.gz

3. Run the script: /root/install-dialout-cnam.sh. Choose the number of the new CID Superfecta setup (probably will be a negative number which is fine). No idea why.

4. Once the script completes, make a call from extension 701 to an outside number. The new CNAM info should be shown in the ACCOUNT column of your CDR listing.

Originally published: Monday, September 30, 2019



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


 

Special Thanks to Our Generous Sponsors

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

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls plus quadruple data center redundancy assures that you’ll never have a failed call. Tutorial and sign up details are here.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously offered to provide a customized White Label version of Incredible PBX that is specifically tailored for use with Incredible PBX and VitalPBX custom applications. Soon!
 

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


​​3CX is a software PBX that’s easy to install & manage. It includes integrated softphones, WebRTC conferencing and essential add-ons out of the box, at no additional cost. Try the free edition at www.3cx.com. Better yet, download the PIAF5 ISO powered by 3CX. Free version includes support for 8 simultaneous calls with a SIP trunk.

  • Run on Premise or in the Cloud, on Windows and now on Linux
  • Softphones for iOS, Android, Win & Mac
  • Easy install, backup & restore, version upgrades
  • Automatically configures IP Phones, SIP Trunks & Gateways

  • RentPBX, a long-time partner and supporter of PIAF project, is offering generous discounts for Nerd Vittles readers. For all of your Incredible PBX hosting needs, sign up at www.RentPBX.com and use code NOGOTCHAS to get the special pricing. The code will lower the price to $14.99/month, originally $24.99/month. It’s less than 50¢/day.


    Print Friendly, PDF & Email

    Be Sociable, Share!

    Tags:

    Leave a comment

    Your email address will not be published. Required fields are marked *

    *