Home » Technology » Telephony (Page 15)

Category Archives: Telephony

The Most Versatile VoIP Provider: FREE PORTING

Vonage Roars into the Asterisk World with Nexmo

blank

We’re a bit late to the Nexmo® party. For those unfamiliar with the company, Nexmo was one of the leading communications platform-as-a-service (CPaaS) companies prior to their acquisition by Vonage® four years ago. Perhaps because of the Vonage name, Nexmo never appeared on our Asterisk® radar. This ZDnet article will get you up to speed. Suffice it to say, Nexmo has one of the best APIs in the VoIP business, and their pricing is reasonable. A DID offering multiple call paths will only set you back $1 a month with incoming calls costing $0.0049/minute with per second billing. Outbound U.S. calls are $0.0139/minute. Sending SMS messages using your DID costs $0.0068 per message while incoming messages are $0.0062. While barely scratching the surface of the Nexmo offerings, our goal today is to show you how to deploy a Nexmo trunk in IncrediblePBX® 2020 that provides voice and SMS.

As we have mentioned many times, one of the real beauties of VoIP is not having to put all your eggs in one basket like in the old MaBell days. Other than $1 a month for a DID, there are no other costs associated with a Nexmo account if you don’t use it AND your first $10 of usage is free. It also provides a terrific failover option from one of our two favorite providers: Skyetel and ClearlyIP.

Overview. There are eleven pieces to put in place to get inbound and outbound calls and SMS messages flowing. First, on the Nexmo site, (1) you’ll need to set up an account and (2) order a DID. HINT: When you search for numbers, be sure to use the 1 prefix to search for U.S. numbers by area code. Once the DID number has been activated, edit Your Number and (3) enter a web address to deliver incoming SMS messages to your PBX and (4) enter a SIP URI to send incoming calls to your PBX. (5) You’ll also need to make note of your API credentials and DID number which you will need in setting up the trunk and scripts on your PBX.

Second, on the PBX side, (1) you’ll need to whitelist several IP addresses for Nexmo in your firewall settings, (2) create a PJsip trunk with your Nexmo credentials and 11-digit CallerID number, (3) create an Outbound Route to send calls to Nexmo, (4) create an Inbound Route to accept calls from your Nexmo DID, (5) add a from-internal-custom dialplan rule to allow from-sip-external calls from Nexmo, and (6) install and configure our scripts to process SMS messages. This requires that outbound email is functional on your PBX.

SMS Messaging is a little different on every platform. The way we implemented it with Nexmo goes like this. Incoming SMS messages can be delivered either to an email address of your choice. Or, if your cellphone provider supports it, you can direct the emails to an address that your provider offers to process incoming messages and deliver by SMS to your cellphone:

  • AT&T: phonenumber@txt.att.net
  • Sprint: phonenumber@messaging.sprintpcs.com
  • T-Mobile: phonenumber@tmomail.net
  • Verizon: phonenumber@vtext.com or phonenumber@vzwpix.com
  • Virgin Mobile: phonenumber@vmobl.com

Keep in mind that you can’t reply to a delivered email message and expect it to reach the sender. Outbound SMS messages with Nexmo must be generated either with a web browser pointed to the SMS directory on your PBX or from the Linux command line of your server. If the incoming SMS messages are redirected to SMS on your cellphone, you can click on the ORIGIN link and send an SMS reply, but it will have the number of your cellphone, not your Nexmo number. We’ll cover the syntax for these options once we get all the pieces in place.

Configuring SendMail with Incredible PBX 2020

Before we get too far along, let’s make sure you can send emails from your PBX. In order to receive SMS messages by email delivery, outbound mail functionality from your server obviously is required. If you’ve deployed your server in your home, your Internet Service Provider probably blocks downstream mail servers such as Incredible PBX from sending mail. This is done to reduce SPAM. In this case, you will need to configure SendMail using either your ISP or Gmail as an SMTP Relay Host. NOTE: If you are using a Gmail account with 2-step verification enabled, you MUST use a Gmail App Key instead of your Gmail account password. You also must enable Less Secure Apps access to the Gmail account. Here are the steps using a Gmail account:

cd /etc/mail
yum -y install sendmail-cf
hostname -f > genericsdomain
touch genericstable
cd /usr/bin
rm -f makemap
ln -s ../sbin/makemap.sendmail makemap
cd /etc/mail
makemap -r hash genericstable.db < genericstable
mv sendmail.mc sendmail.mc.original
wget http://incrediblepbx.com/sendmail.mc.gmail
cp sendmail.mc.gmail sendmail.mc
mkdir -p auth
chmod 700 auth
cd auth
echo AuthInfo:smtp.gmail.com \\"U:smmsp\\" \\"I:user_id\\" \\"P:password\\" \\"M:PLAIN\\" > client-info
echo AuthInfo:smtp.gmail.com:587 \\"U:smmsp\\" \\"I:user_id\\" \\"P:password\\" \\"M:PLAIN\\" >> client-info
echo AuthInfo:smtp.gmail.com:465 \\"U:smmsp\\" \\"I:user_id\\" \\"P:password\\" \\"M:PLAIN\\" >> client-info
# Stop here and edit client-info (nano -w client-info) in all three lines.
# Replace  user_id with your gMail account name without @gmail.com
# Replace password with your real gMail password OR
#  use your Gmail App Key if 2-step verification is enabled
# Be sure to replace the double-quotes shown above if they don't appear in the file!!!
# Save your changes (Ctrl-X, Y, then Enter)
chmod 600 client-info
makemap -r hash client-info.db < client-info
cd ..
make
systemctl restart sendmail

If your server is hosted in the cloud and your provider does not block TCP port 25, then you can send mail without using a SmartHost; however, your server's hostname must actually be real or downstream mail servers will reject your mail. You can set your server's hostname like this: hostname myserver.myhost.com. This is usually sufficient; however, it's a good idea to also add the hostname in /etc/hostname and in /etc/hosts as the first entry on 127.0.0.1 line:

127.0.0.1   myserver.myhost.com pbx.local localhost localhost.localdomain

Next, test outbound mail using this command with your actual email address:

echo "test" | mail -s testmessage yourname@youremaildomain.com

Configuring Nexmo for Use with Incredible PBX

NOTE: For ease of reference in the examples, we'll use 8005551212 to represent your 10-digit DID number, 18005551212 to represent your 11-digit DID number, and 22.33.44.55 to represent the public IP address of your PBX. You'll obviously need to replace these entries.

1. To get started, open Nexmo.com with a web browser and click on Try It Free. No credit card is required to use your $10 credit.

2. Next, purchase a DID to use with your PBX. Login to your Nexmo account, and click # Numbers then Buy Numbers. For Features, choose SMS & Voice. For Type, leave it set to Mobile. For Number, choose Starts With and enter 1800 replacing 800 with your desired area code. Don't forget the 1. When we opened our account, it already had a DID chosen. You can either use that one to experiment, or delete it and choose your own.

3. Click # Numbers then Your Numbers and click on the pencil icon to the right of your DID to edit the DID settings. Under SMS, enter a Webhook URL that looks like this using the public IP address of your PBX: http://22.33.44.55/sms.

4. Under Voice, choose Forward to SIP and enter a SIP URI in this format using your 10-digit DID (not eleven digits here!) and the public IP address of your PBX: 8005551212@22.33.44.55. Then click SAVE.

5. Navigate to Settings under your Account Name and write down your API Key and Secret as well as your purchased DID Number.

Configuring Incredible PBX for Use with Nexmo

1. Incredible PBX includes a whitelist as part of its Travelin' Man 3 firewall design. Begin by editing iptables-custom in /usr/local/sbin. Search for: # custom rules go below here. Below that line, insert the following, save the file, and restart IPtables: iptables-restsrt

# // New entry for Nexmo
/usr/sbin/iptables -I INPUT -s api.nexmo.com  -j ACCEPT
/usr/sbin/iptables -I INPUT -s 169.63.86.0/24 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 5.10.112.121  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 5.10.112.122  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.247.1   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.247.2   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.247.3   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.247.4   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.248.2   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.248.3   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.248.4   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.248.9   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.249.1   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.249.2   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.249.3   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.249.4   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.250.1   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.250.2   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.250.3   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.250.4   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.251.1   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.251.2   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.251.3   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 69.59.251.4   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 119.81.44.6   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 119.81.44.7   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 168.100.88.1  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 168.100.88.2  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 168.100.88.3  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 168.100.88.4  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 169.48.36.56  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 169.48.36.66  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 169.55.62.70  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 169.55.62.215 --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 169.60.141.29 --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 169.60.141.30 --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.0.1   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.0.2   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.1.1   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.1.2   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.2.1   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.2.2   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.3.1   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.3.2   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.4.1   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.4.2   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.5.1   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.5.2   --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.62.4  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.62.5  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.63.4  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.63.5  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.63.38 --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.63.39 --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.63.100  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.63.101  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.63.116  --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -I INPUT -p udp -m udp -s 216.147.63.117  --dport 5060:5069 -j ACCEPT
# // End entry for Nexmo

2. Login to FreePBX as admin and navigate to Connectivity -> Trunks -> Add PJsip Trunk.

In General tab, enter Trunk Name: nexmo. Enter Outbound CallerID: your 11-digit Nexmo DID. If you forget the 1 or if your CallerID number doesn't match your Nexmo DID number, outbound calls will be delivered as Anonymous. No CallerID spoofing with Nexmo.

In PJSIP Settings under the General tab, enter your API Key as Username, your API Secret as Secret, Outbound as Authentication, sip.nexmo.com as SIP Server, 5060 as SIP Port, and from-pstn-e164-us as Context. Retain the other defaults.

In PJSIP Settings under the Advanced tab, enter YES for Send LineIn Registration, and 5.10.112.121, 5.10.112.122, 119.81.44.6,119.81.44.7,169.60.141.29,169.60.141.30 for Match.

In PJSIP Settings under the Codecs tab, select ULAW and ALAW. Then click Submit and Reload the Dialplan when prompted. Verify registration: pjsip show registrations

3. Create an Outbound Route under Connectivity. Name the route: Nexmo. For Trunk Sequence, choose nexmo. Create two Dial Patterns: one for NXXNXXXXXX with a prefix of 1 and one for 1NXXNXXXXXX. Click Submit and Reload Dialplan when prompted.

4. Create an Inbound Route under Connectivity with a Description of Nexmo Vonage, a DID Number consisting of your 10-digit DID, and a Destination of your choice for the incoming calls. Click Submit and Reload Dialplan when prompted.

5. Anonymous SIP access typically is blocked with Incredible PBX. Because of the way Nexmo delivers incoming calls, we need to make an adjustment to allow SIR URI access from Nexmo. Edit extensions_custom.conf in /etc/asterisk and scroll to the bottom of the file. Insert the following lines replacing 8005551212 with your actual 10-digit DID. Then SAVE the file and reload your dialplan: asterisk -rx "dialplan reload"

[from-sip-external](+)
exten => 8005551212,1,Goto(from-trunk,${DID},1)

6. In FreePBX Settings -> SIP Settings, change the RTP Port Range to 10000-50000.

7. The only remaining piece is to install the scripts to manage SMS Messaging with Nexmo. While logged into your server as root, issue these commands to install all of the components:

# CentOS 6 requires minimum PHP 5.6 with remi.repo enabled
# Prerequisites already are in place with Incredible PBX 2020
# On CentOS platforms, use the next command:
yum -y install composer
# On Raspbian platforms, use the next command:
apt-get -y install composer
# the remaining commands work on all platforms
composer require nexmo/client
composer require slim/slim:^3.8
cd /var/www/html
wget http://incrediblepbx.com/nexmo-sms.tar.gz
tar zxvf nexmo-sms.tar.gz
rm -f nexmo-sms.tar.gz
cd sms
nano -w config.inc.php

When the editor opens, insert your Nexmo API key, secret, and 11-digit DID number. For your email address, you have a choice of using a traditional email address which will cause incoming SMS messages to be delivered to your email account. Or you can use an email address that maps to SMS messaging on your cellphone as explained above. In the HEADER field, insert your 11-digit DID number once again leaving @noreply.nexmo.com unchanged. Save the file: Ctrl-X, Y, then ENTER. Done!

Taking SMS Messaging for a Spin with Nexmo

To try things out, first send an SMS message from some device to your Nexmo DID number. You should receive a copy of the message in your email or as an SMS message on your smartphone if you elected to set that up.

Next, using a browser with WhiteList privileges to your PBX, send an SMS message to some SMS number using the following syntax where 22.33.44.55 is the PBX public IP address:

http://22.33.44.55/sms/sendsms.php/?SENDTO=18431234567&MSG="Test message."

Finally, after logging into your server as root, send another SMS message to some destination using the following syntax:

php /var/www/html/sms/sendsms.php 18431234567 "Test message."

 

Originally published: Monday, June 15, 2020    Updated: Sunday, October 30, 2022


blank
Need help with Asterisk? Visit the VoIP-info 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.
 



blank

OSS End Point Manager Returns for Incredible PBX 2020

blank

It’s been a long dry spell for the OSS Endpoint Manager component for FreePBX®. Today we’re pleased to announce its glorious return for the Incredible PBX® 2020 platform. While Incredible PBX 2020 included the EPM module, getting it to function reliably was a challenge. And that’s putting it charitably. Well, those days are over by simply installing our new EPM upgrade that provides templates for more than 100 SIP phones from Aastra, AudioCodes, Cisco, Linksys, Sipura, CloudTC, Digium, Grandstream, Intelbras, Mitel, Norphonic, Patton, Polycom, Snom, Thomson, Unidata, Xorcom, and Yealink including V70, V80, and Dreamwave models. And the icing on the cake is that ClearlyIP has just announced a new web-based endpoint configurator that is just around the corner. We’ll keep you posted.

Prerequisites. You’ll need an Incredible PBX 2020 base platform which already includes the last OSS EPM module from Andrew Nagy. If you’re using a different flavor of FreePBX, you’ll need to first install the OSS Endpoint Manager using the Module Admin utility.

Cautionary Note: Because our new configurator basically loads a snapshot of OSS Endpoint Manager on top of the existing software, it’s worth mentioning that any existing settings you’ve made in your current OSS EPM configuration will be overwritten. So we would caution you to make a full backup of your server before you begin just in case something comes unglued. You can install the latest Incredible PBX 2020 backup and restore components and make a backup like this:

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

 
Upgrading OSS Endpoint Manager. Once you have a good backup, you’re ready to install the new OSS EPM update. While still logged into the Linux CLI as root, issue these commands:

cd /
wget http://incrediblepbx.com/endpointman.tar.gz
tar zxvf endpointman.tar.gz
rm -f endpointman.tar.gz
cd /root/endpointman
mysql -u root -ppassw0rd asterisk < epm-tables.sql
fwconsole reload
fwconsole restart

 
Accessing OSS EPM Package Manager. Using a web browser, log in to the FreePBX GUI as admin. Access the OSS Endpoint Manager in the Settings tab. Click on the Options bar on the right and choose Package Manager. DO NOT CLICK Check for Update. There aren't any, and there's a nasty bug when you click Update. All available phone setups should now appear and be ready for use.

Fixing the Check for Update Bug. If you accidentally click the Update button, you will damage the ability to make future changes in Package Manager. To fix this, drop down to the Linux CLI and issue the following commands:

cd /var/www/html/admin/modules/endpointman/install
cp setup.php /var/www/html/admin/modules/_ep_phone_modules/

 
Updating OSS EPM Package Manager. We know that some of you have actually developed templates for other phones that are not yet supported in OSS EPM. Please post your additions in this thread on the new VoIP-info Forum, and we will also add them to the default build for future new users. This post from @krzykat documents how to add these new templates to your server in the Settings -> Package Import tab without damaging your existing setup.

blank

 

Originally published: Monday, June 8, 2020


blank
Need help with Asterisk? Visit the VoIP-info 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.
 



blank

Turning Incredible PBX into a Lean, Mean Asterisk Machine

blank

Mexican Food isn’t for everyone and once in a while we get asked for a tutorial showing how to take the Whole Enchilada version of Incredible PBX® 2020 back to its roots as a Lean, Mean Asterisk® Machine. Still others want to better understand how all the Incredible PBX 2020 pieces are put in place so that unused components can be removed easily. So today’s your lucky day as we roll back the shroud of secrecy surrounding the open source Incredible PBX 2020 installer. We’re being facetious, of course, because the source code has always been available for everyone to examine and modify to your heart’s content. But we appreciate that some may not be comfortable tackling this independently for fear of breaking something.

The short answer is that most of the Incredible PBX additions to Asterisk and FreePBX® are housed in the extensions_custom.conf file in /etc/asterisk and the collection of files in /var/lib/asterisk/agi-bin. But deleting those files would be a very bad idea and most certainly would break much of the functionality of the underlying Asterisk and FreePBX platform.

Our approach today is to document how to delete each piece of the Incredible PBX puzzle so that you can keep the features you like and remove the rest. We’ve resisted documenting some of this previously because these components don’t typically hurt anything or consume processing resources if they’re not used. But we appreciate there are purists that want a pristine clean platform to call their own. So… here goes.

Before we get started, let me document how most of the Incredible PBX contexts in extensions_custom.conf were designed so that they could easily be removed or updated. At the top and bottom of each context, you’ll find two lines that look something like this:

;# // BEGIN Redialer
; Asterisk dialplan code goes here
;# // END Redialer

Using the label Redialer, the entire context can be removed with a single sed command:

sed -i '\:// BEGIN Redialer:,\:// END Redialer:d' extensions_custom.conf

As we walk through the various functions and contexts below, we’ll use sed Label:d as a short-hand notation for the context removal procedure in the steps that follow.

Finally, before you make any changes to your server, please MAKE A BACKUP. For the latest scripts, issue the following commands after logging into the Linux CLI as root:

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

Removing Telephone & Web Reminder Apps

1. From /etc/asterisk/extensions_custom.conf, sed Reminders:d
2. From /var/lib/asterisk/agi-bin, remove checktime.php, checkdate.php, reminder.php, run_*
3. From /var/lib/asterisk/sounds/en/custom, rm -f remind*
4. From /var/www/html, rm -rf reminders
5. From /var/spool/asterisk, rm -rf recurring AND rm -rf reminders
6. fwconsole ma delete reminders
7. fwconsole reload
8. asterisk -rx "dialplan reload"
9. fwconsole restart

Much of the Telephone Reminders code is more than a decade old and was installed long before the current sed design with labels was implemented. So the final step in removing all of the reminders contexts is to edit extensions_custom.conf and manually delete all commands within the following contexts and then reload the Asterisk dialplan in the usual way: asterisk -rx "dialplan reload"

[reminder]
[reminder2]
[reminder3]
[reminder4]
[reminder5]
[reminder6]
[reminder7]
[reminder8]
[reminder9]
[reminder9a]
[remindem]

Removing AsteriDex & AsteriDex SpeedDialer Apps

1. From /etc/asterisk/extensions_custom.conf, sed AsteriDex SpeedDial:d
2. From /etc/asterisk/extensions_custom.conf, sed Call by Code:d
3. From /etc/asterisk/extensions_custom.conf, sed Call by Name:d
4. From /var/lib/asterisk/agi-bin, remove asteridex.php
5. From /var/lib/asterisk/agi-bin, remove nv-call*
6. mysql -u root -ppassw0rd -e "drop database asteridex"
7. From /var/www/html, rm -rf asteridex4
8. fwconsole ma delete asteridex
9. fwconsole reload
10. asterisk -rx "dialplan reload"
11. fwconsole restart

Removing SMS Dictator App

1. From /etc/asterisk/extensions_custom.conf, sed SMS Dictator:d
2. From /var/lib/asterisk/agi-bin, rm -f sms*
3. asterisk -rx "dialplan reload"

Removing Travelin’ Man 4 Dialer App

1. From /etc/asterisk/extensions_custom.conf, sed Travelin’ Man 4 Dialer:d
2. From /etc/asterisk, rm -rf tm4
3. mysql -u root -ppassw0rd -e "drop database TravMan4″
4. asterisk -rx "dialplan reload"

Removing Wolfram Alpha App

1. From /etc/asterisk/extensions_custom.conf, sed Wolfram Alpha:d
2. From /var/lib/asterisk/agi-bin, rm -f wolfram.sh
3. From /var/lib/asterisk/agi-bin, rm -f 4747*
4. asterisk -rx "dialplan reload"

Removing Yahoo News App

1. From /etc/asterisk/extensions_custom.conf, sed nv-news-yahoo:d
2. From /var/lib/asterisk/agi-bin, rm -f nv-news*
3. asterisk -rx "dialplan reload"

Removing Weather Apps

1. From /etc/asterisk/extensions_custom.conf, sed Weather by ZIP:d
2. From /var/lib/asterisk/agi-bin, rm -f nv-weather*
3. From /var/lib/asterisk/agi-bin, rm -f zipcod*
4. asterisk -rx "dialplan reload"

Removing Today in History App

1. From /etc/asterisk/extensions_custom.conf, sed Today in History:d
2. From /var/lib/asterisk/agi-bin, rm -f nv-today*
3. rm -f /tmp/today
4. asterisk -rx "dialplan reload"

Removing Tides App

1. From /etc/asterisk/extensions_custom.conf, sed xTide:d
2. From /var/lib/asterisk/agi-bin, rm -f xtide*
3. mysql -u root -ppassw0rd -e "drop database tides"
4. asterisk -rx "dialplan reload"

Removing SIP URI App

1. From /etc/asterisk/extensions_custom.conf, sed SIP URI Mod1:d
2. From /etc/asterisk/extensions_custom.conf, sed SIP URI Mod2:d
3. asterisk -rx "dialplan reload"

Removing Redialer App

1. From /etc/asterisk/extensions_custom.conf, sed Redialer:d
2. asterisk -rx "dialplan reload"

Removing Google TTS Apps

1. From /var/lib/asterisk/agi-bin, rm -f googletts*

Removing Stocks App

1. From /var/lib/asterisk/agi-bin, rm -f nv-stock*

Removing Dictionary App

1. From /var/lib/asterisk/agi-bin, rm -f nv-dict*

Removing the ODBC Demo Apps

As installed, Incredible PBX reserves extensions 222 and 223 for a couple of applications demonstrating the use of ODBC connections with Asterisk. Some may prefer to use these extensions for other purposes so you have two choices. You can either renumber the extensions, or you can delete the demo applications entirely. To renumber the extensions, edit /etc/asterisk/odbc.conf. Then search and replace the 222 and 223 entries. To remove the applications entirely, simply rename the odbc.conf file to odbc.conf.orig. Then reload the dialplan: asterisk -rx "dialplan reload"

We recommend you revisit this article in a week or two to see if other additions and corrections have been made. If so, they will appear below here. Enjoy!

 

Originally published: Monday, June 1, 2020


blank
Need help with Asterisk? Visit the VoIP-info 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.
 



blank

Free Cellular Service in the U.S. & Canada Returns

blank

We’re a few months late to the party but, if Covid-19 has put a kink in your cellular budget or if you have young kids that could use a cellphone with unlimited calling and texting on the Sprint® network at zero cost in the U.S. and Canada, then your prayers have been answered. All you need is a CDMA phone and a $10 SIM card from TextNow. Better yet, you can purchase one of their refurbished iPhones or Android phones, and you’re off to the races. Their compatible web app with 200+ million downloads lets you make calls and send text messages from your favorite desktop computer or tablet. Special thanks to @Hometech for this tip.

blank

What’s the Catch? The free tier is ad-supported so you’ll get a few ads. But, other than that, unlimited calling and texting throughout the U.S. and Canada are free whether you’re on WiFi or on Sprint’s nationwide network. If the ads are bothersome, you can always move up to the $10/month ad-free platform which also gets you voicemail transcription. There’s even free data service albeit on Sprint’s 2G network. But it’s perfectly suited for email. Yes, we’re aware of Sprint’s terrible coverage in some areas, but hopefully this will improve with the T-Mobile merger. Much like Google Fi, the TextNow design supports WiFi wherever it’s available. You can’t beat the price, and no credit card is required to sign up. So what are you waiting for?

blank

Referral Code Saves $20. TextNow no longer offers referral codes or affiliate links, and we don’t have one. But here’s a link to some existing coupons that will save you $20 if you decide to purchase a phone from them.


 
Free Features: In addition to a free phone number and unlimited calling and texting to U.S. and Canadian numbers, TextNow offers conference calling, voicemail, and group texting. Calling and texting via the web app or platform-specific applications is just as intuitive and powerful as using a cellphone. In fact, you can set things up on your existing phone while you’re waiting on your TextNOW SIM card or smartphone to arrive. Come join the party!
 

Originally published: Friday, May 22, 2020


blank
Need help with Asterisk? Visit the VoIP-info 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.
 



blank

ClearlyIP Introduces New Features for Incredible PBX Phones

blank

We’re excited to announce a host of new features for the new Incredible PBX IP phones. For locations where dynamic IP addresses and NAT-based routers pose challenges, the Clearly Devices GUI now offers direct support for OpenVPN. For environments in which security is critically important such as banks and schools, a new Panic button provides unique protection for employees and workplaces. And, for those that have always wanted an "Answered Elsewhere" indication for business communications, your search is over.

Configuring Incredible PBX Phones with OpenVPN

To get started, log into the FreePBX GUI with your admin credentials and navigate to Admin -> Module Admin -> Check Online and update the Clearly Devices module, if necessary. Next, create an OpenVPN server and generate a client template using the MAC address of each of your Incredible PBX phones following the steps in our previous tutorial. Copy the new client templates to the tftpboot folder of your Incredible PBX server. Next, open this ClearlyIP tutorial in a separate window and follow the steps to set up each of your phones. NOTE: When you create a template in Clearly Devices, it will provide a default provision URL at the top of the template that should also be used as the Custom Client Location when you enable the VPN in the User Management template, e.g. http://abc:xyz@192.168.0.3:2580/%%MAC%%.ovpn

Adding a PANIC Button to Incredible PBX Phones



 

Adding ‘Answered Elsewhere’ As A Call Destination

One of the complaints of many administrators has been the destination entries made in call logs when a call to a ring group is answered on another extension. With the latest release, the "Answered Elsewhere" notation is included in the phone’s firmware. Give these phones a careful look when you are in the market for new SIP phones. There’s nothing quite like them for Asterisk® platforms. Enjoy!

Originally published: Tuesday, May 19, 2020


blank
Need help with Asterisk? Visit the VoIP-info 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.
 



blank

BulkVS: A Bargain SIP Provider for Incredible PBX Platforms

blank

At every opportunity I always tell new VoIP enthusiasts that one of the true advantages of switching to a VoIP platform is the fact that you don’t have to put all your eggs in one basket. Just this morning, I read a Facebook post from one of the elders in my family lamenting the fact that her MaBell landline had failed in the midst of this week’s snowstorm in North Carolina. Her local WiFi and cable TV still worked but not her landline or cellphone.

With that background, we are pleased to introduce BulkVS trunking as another option to add to your collection. Unlike Skyetel, ClearlyIP, Vitelity, and VoIP.ms, we receive no commissions from BulkVS so chalk this article up as a good example of biting off your nose to spite your face. There is a PayPal link to the right if you’re feeling grateful. 😉

Why does BulkVS matter? In the words of Alex Trebek, it’s The 3 P’s: Price, Price, and Price. An inbound US48 Tier0 phone number (DID) will set you back 6¢ a month with a 25¢ setup fee. And calls are billed at $.0003 per minute. Toll-free numbers in the U.S. and Canada are 14¢ a month with a per minute rate of $.0055. CNAM lookups are $.002. Outbound calls are $0.004/minute. E911 service is 49¢/month. Billing increment: 6 seconds. Those aren’t typos.

Getting Started with BulkVS

To get started, click the sign up link on the main BulkVS page. Then fund your account with $25 using PayPal. Or you can sign up for Net 15 billing and pay by check or credit card if you’re not in a rush to get started.

BulkVS offers two ways to set up your BulkVS trunking: IP-based authentication and SIP registration. If you don’t have a firewall which means you’re not using Incredible PBX, the first method is a little safer because nobody can spoof the IP address of your Asterisk® PBX. But it’s not for everyone. For example, if you’re behind a NAT-based firewall or if your server has a dynamic IP address, then IP-based authentication really isn’t an option. Similarly, if you don’t have control of the router that your PBX is sitting behind, then IP-based authentication won’t work since you have to forward both the SIP port (UDP 5060) and the RTP ports (10000-20000) to your PBX. The beauty of SIP registrations is they work from almost anywhere including double-NAT environments. So today, we’ll cover the SIP registration approach which will work for everyone.

There are three setup procedures: one using the BulkVS Control Panel, a second using the Linux CLI, and a third using the FreePBX® GUI included in Incredible PBX®.

BulkVS Setup with SIP Registration

Step 1: Go to Inbound -> DIDs – Purchase and buy one or more DIDs for your PBX.

Step 2: Go to Interconnection -> Host – Add and add your PBX’s public IP address. Leave the port as 5060 for both chan_sip and chan_pjsip setups.

Step 3: Go to Interconnection -> Trunk Group – Add and create a Trunk Group.

Step 4: Go to Interconnection -> Trunk Group – Manage and add the Primary IP Address for your new Trunk Group. Set Delivery Type to 11DIGITS.

Step 5: Go to Interconnection -> SIP Registration and write down the credentials for one of the SIP credentials you wish to use to register your new trunks.

Step 6: Go to Inbound -> DIDs – Manage and select each telephone number. Then set the Trunk Group to the SIPREG Trunk Group you chose in the previous step. Click Update button.

Step 7: Wait 15 minutes for the new IP and Trunk Group settings to propagate to SBC nodes.

Linux CLI Setup for BulkVS

First, log into your server as root and edit iptables-custom in /usr/local/sbin. Add the following just above the # End of Trusted Provider Section marker:

# BulkVS WhiteList
/usr/sbin/iptables -A INPUT -p udp -m udp -s 162.249.171.198 --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -A INPUT -p udp -m udp -s 76.8.29.198 --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -A INPUT -p udp -m udp -s 69.12.88.198 --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -A INPUT -p udp -m udp -s 192.9.236.42 --dport 5060:5069 -j ACCEPT
/usr/sbin/iptables -A INPUT -p udp -m udp -s 52.206.134.245 --dport 5060:5069 -j ACCEPT

For chan_sip trunk implementations, while logged into your server as root, edit sip_custom_post.conf in /etc/asterisk. Add the following:

[bulkvs1](bulkvs);
host=192.9.236.42

[bulkvs2](bulkvs);
host=162.249.171.198

[bulkvs3](bulkvs);
host=69.12.88.198

[bulkvs4](bulkvs);
host=76.8.29.198

[bulkvs5](bulkvs);
host=52.206.134.245

 
Finally, restart the IPtables firewall and reload Asterisk:

iptables-restart
fwconsole reload

FreePBX PJsip Setup with SIP Registration

The PJsip alternative is considerably easier. First, you don’t need sip_custom_post.conf entries at all. To begin, navigate to Connectivity -> Trunks and choose Add a PJsip trunk. Name the trunk BulkVS and then click on the pjsip Settings tab. Fill out the form as shown below substituting the BulkVS registration account name you chose above. Any of the three SIP registrations offered for your account under Interconnection -> SIP Registration in the BulkVS Dashboard will work as long as you use the matching password.

blank

Next, click on the Advanced tab and enter the following in the Match (Permit) field.

162.249.171.198,76.8.29.198,69.12.88.198,192.9.236.42,52.206.134.245

In the Codecs tab, enable ULAW and ALAW. Then click Submit and reload your dialplan.

With PJsip registrations, you may also need to add the following lines to the end of extensions_custom.conf in /etc/asterisk using your actual DID. Then reload your dialplan: asterisk -rx "dialplan reload"

[from-sip-external]
; BulkVS
exten => 18005551212,3,Goto(from-trunk,${DID},1)

FreePBX chan_sip Setup with SIP Registration

If you prefer to set up your BulkVS trunk the old-fashioned way, navigate to Connectivity -> Trunks -> Add chan_sip trunk and enter:


blank

In the Incoming tab, enter a Registration String in the following format where 19991234567 is one of your actual BulkVS DIDs. Then Save the settings and reload the dialplan.

yourBulkVSacctname:yourBulkVSpassword@sip.bulkvs.com/19991234567

Finally, navigate to Settings -> Asterisk SIP Settings and the chan_SIP tab, then set the Registration Minimum Expiry and Registration Default Expiry entries to 25. Then click Submit and reload the dialplan.

FreePBX Inbound & Outbound Route Configuration

Finally, we need to tell FreePBX how to route BulkVS calls into and out of your PBX. In the FreePBX GUI under Connectivty -> Inbound Routes, add a new route for BulkVS specifying the 11-digit DID you purchased from BulkVS. Choose a Destination for the incoming calls, save your settings, and reload the dialplan. Repeat this process for each of your BulkVS DIDs. HINT: The monthly cost of the DIDs is inexpensive enough to assign a DID to every extension on your PBX.

Next, navigate to Connectivity -> Outbound Routes and create a new Outbound Route for calls you wish to process using BulkVS termination services. Name the Outbound Route BulkVS and assign the bulkvs trunk as the first entry in the call sequence. In the Dial Patterns tab, you would want match patterns for 1NXXNXXXXXX and NXXNXXXXXX. For the latter entry, be sure to add a Prepend entry of 1. Then save your settings and reload the dialplan.

SMS Message Delivery from BulkVS Trunks

BulkVS also supports SMS messaging on most of their DIDs. To deliver SMS messages from BulkVS, you’ll need a public-facing web server (not Incredible PBX). Assuming you already have that in place, delivery of SMS messages from BulkVS DIDs to your email address or smartphone’s messaging app is straight-forward. Begin by enabling SMS messaging on your DID: Inbound -> DIDs Manage. Next, assign a web address to process the incoming messages on your web server, e.g. http://yourdomain.com/bulkvs-sms/index.php. Then create the index.php file using the sample code below after inserting your email address for delivery of the incoming messages:

<?php

// Syntax for delivery from bulkvs.com SMS Forwarding Service

  $deliverto = "yourname@yourdomain.org";
//  $deliverto = "18431234567@txt.att.net";
  $from = htmlspecialchars($_REQUEST['from']);
  $to = htmlspecialchars($_REQUEST['to']);
  $message = htmlspecialchars($_REQUEST['message']);
  $subject="SMS Message from $from to $to";
  $comment="SMS Message\\n\\nFROM: $from\\n\\nTO: $to\\n\\nMSG: $message\\n\\n";
  mail("$deliverto", "$subject", "$comment", "$from");
  echo "OK";
?>

 
To send an SMS message from one of your BulkVS DIDs, you’ll need your API credentials from the BulkVS web site. Simply insert them together with one of your 11-digit DIDs in the script below, and you can send SMS messages to your heart’s content.

from="18005551212"
apikey="aaabbbccc"
apisecret="dddeeefff"

if [ -z "$1" ]; then
echo 'Syntax: send-sms-bulkvs 18005551212 "Your SMS message"'
exit
fi
if [ -z "$2" ]; then
echo 'Syntax: send-sms-bulkvs 18005551212 "Your SMS message"'
exit
fi

to=$1
msg=$2

curl --header "Content-Type: application/json" --request POST --data \\
'{"apikey":"'"$apikey"'","apisecret":"'"$apisecret"'","from":"'"$from"'","to":"'"$to"'","message":"'"$msg"'"}' \\
https://portal.bulkvs.com/sendSMS

To send SMS messages from a Windows machine, see this post from @jerrm.

Originally published: Tuesday, May 12, 2020


blank
Need help with Asterisk? Visit the VoIP-info 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.
 



blank

Introducing the Incredible Redialer for Asterisk

blank

If you’ve been a VoIP regular during the past decade then you’re probably already aware that the automatic redial function has disappeared from both Asterisk® and most SIP phones. In these difficult times of trying to connect with critical services and radio contests, we thought it was a good time to introduce the Incredible Redialer. It should perform well on most Asterisk platforms with FreePBX® as well as current releases of Incredible PBX®.

How It Works. The Incredible Redialer assumes you have an Outbound Route to process 10-digit calls. If not, you can adjust the code to meet your local or international calling patterns. For the default install, a caller simply dials 2 plus a 10-digit number, and the Incredible Redialer will repeatedly dial the 10-digit number every five seconds until the call completes without a busy signal. No CDR entries are logged to avoid clutter.

Installation. On FreePBX-based systems including Incredible PBX platforms, edit extensions_custom.conf in /etc/asterisk. Just below the [from-internal-custom] line at the top of the file, insert the following code:

;# // BEGIN Redialer
exten => _2NXXNXXXXXX,1,Answer
exten => _2NXXNXXXXXX,n(dialnow),Wait(5)
exten => _2NXXNXXXXXX,n,Set(NUM2CALL=${EXTEN:1})
exten => _2NXXNXXXXXX,n,Dial(local/${NUM2CALL}@from-internal)
exten => _2NXXNXXXXXX,n,Goto(dialnow)
exten => s-CANCEL,1,Hangup
exten => s-NOANSWER,1,Hangup
exten => s-BUSY,1(redial),Goto(dialnow)
exten => s-CONGESTION,1(congestion),Goto(dialnow)
exten => s-CHANUNAVAIL,1,Hangup
exten => s-,1,Hangup
exten => _s-.,1,Hangup
;# // END Redialer

If your dialplan requires 11-digit numbers beginning with a 1, then edit the five lines beginning with _2 and change the entries to _21. You can make similar changes to support international dialing prefixes. If you’d prefer a dialing prefix other than 2, then replace the 2 in the _2 lines with the prefix of your choice. Save the file and then reload your Asterisk dialplan: asterisk -rx "dialplan reload"

Testing Incredible Redialer. We’ve set up a test number in the United States that always rings busy. Feel free to call it to try things out from your own PBX: 843-606-0555. Enjoy!

Originally published: Monday, May 4, 2020


blank
Need help with Asterisk? Visit the VoIP-info 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.
 



blank

Election Protection: Deploying Lenny to Block Robocalls

blank

In the United States, some may be unaware that the FCC exempted elected federal officials and businesses with whom you do business from the stringent restrictions enacted against robocalls. That’s the reason you typically hear from your favorite politicians at about the time you sit down for that evening meal. In 2013, we implemented Brian West’s Lenny scripts for use with Asterisk®. We won’t regurgitate all of the background and legal considerations, but they are available in our original article if you’re interested. The idea behind the Lenny robot is a series of voice prompts that keep robocallers chasing their tails for lengthy periods of time without interfering with your regular phone calls. A number of these recordings are available on YouTube for your listening pleasure. Here’s one of our favorites:



 
A Word to the Wise: Pay particular attention to the rules on recording your phone calls. WE ACCEPT NO RESPONSIBILITY FOR VERIFYING THE LEGALITY OF USING THE LENNY VOICE PROMPTS WHICH WERE PART OF THE POSSA MODULE PUBLISHED ON GITHUB!

Even though access to Lenny through SIP URI calls has never wavered over the years, actual deployment of the code to implement Lenny on local servers disappeared because of the inability to verify the author of the original Lenny recordings. We still have been unable to do that, but seven years have passed without anyone voicing a complaint so we’ve decided to once again make the recordings available in this new deployment for Incredible PBX® 2020. A similar module is also available for Ombutel and VitalPBX. If anyone wishes to claim ownership of the recordings and desires that they be removed, simply contact us.

Prerequisites. To install today’s version of Lenny, you’ll need an Incredible PBX 2020 platform for CentOS 7 or the Raspberry Pi 3 or 4.

Installation. To install Lenny on your server, log into the Linux CLI as root. Then…

cd /var/www/html/admin/modules
wget http://incrediblepbx.com/lenny2020.tgz
tar zxvf lenny2020.tgz
rm -f lenny2020.tgz
fwconsole ma install itslenny
fwconsole reload
cd /var/lib/asterisk/sounds/en
ln -s /var/www/html/admin/modules/itslenny/sounds/lenny lenny

Configuration. Next, you’ll need to configure Lenny to answer calls on your Blacklist and, optionally, to replace the existing 53669 (L-E-N-N-Y) SIP URI extension so that non-blacklisted incoming calls can be transferred easily to Lenny as desired. Let’s first tackle the Blacklist setup. Log into the FreePBX GUI with a web browser using your admin credentials. Navigate to Third Party AddOn: Its Lenny. Make sure the Enable checkbox is checked and optionally check the Record option, if desired. The default Silence Detection Delay and Iterations settings should be fine on most platforms. Click Submit to save the settings.

NOTE: The PBX Open Source Software Alliance (POSSA) no longer maintains this module.

If you want to replace the existing 53669 SIP URI extension with access to this new module using the same 53669 setting, here are the steps:

1. Delete the existing 53669 extension under Applications:Extensions.

2. Under Admin:Custom Destinations, Add app-nv-itslenny,s,1 and name it Lenny. Submit.

3. Under Application:Misc Application, Add:
      Enable: YES
      Description: Lenny
      Feature Code: 53669
      Destination: Custom Destination -> Lenny
      Submit

Operation. Here’s how we envision a typical deployment. When an incoming call arrives that you believe is a spammer, say, "Just a moment. Let me transfer you to the man of the house." Using your SIP phone, hit the Transfer button and dial 53669 to send the call to Lenny. Next, blacklist the last caller by picking up the phone again and dialing *32. In the future, when calls arrive from this number, the call will automatically be answered by Lenny. You can add and remove entries in the Blacklist by navigating to Admin:BlackList in the FreePBX GUI.

Continue Reading: Spam Phone Call Blocker and CNAM Caching for FreePBX

Originally published: Monday, April 20, 2020


blank
Need help with Asterisk? Visit the VoIP-info 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.
 



blank