Home » Incredible PBX (Page 13)

Category Archives: Incredible PBX

The Most Versatile VoIP Provider: FREE PORTING

Linphone Rocks: Free SIP Calling to Anybody, Anywhere

blank

We’re rounding out our softphone series today with the perfect complement to Clearly Anywhere for Asterisk® and FreePBX®. Let’s face it. SIP URI dialing from extensions is not Asterisk’s strong suit which is disappointing since SIP URI calling is free. If you’ve been following Incredible PBX® 2020 developments this year, you already know that we’ve pushed everyone to move their VoIP servers to the cloud. You not only get a more flexible PUBLIC platform that lets you go virtually anywhere while preserving home base connectivity for a few bucks a month. A public Asterisk server also lets anyone in the world call your PBX via a SIP URI, and the calls are free from any SIP phone. HINT: Linphone softphones are free!

Today we want to take a fresh look at one of our favorites, Linphone. We call it the perfect complement to Clearly Anywhere because it installs on almost every platform and provides SIP URI communications without any dependence upon a PBX at all. And, just like Clearly Anywhere, multiple devices can connect to the same Linphone account to make and receive calls. Linphone offers free SIP clients for Windows, Mac, Linux, iOS, Android, and many browsers. There’s even GPL source code if that’s your thing. Here are the download links:

To get started, sign up for a free Linphone account. Now simply download the app of your choice from the links above and run it. Then choose the Assistant option and plug in your username and password. Be sure to Allow Push Notifications so that your phone will ring whenever you get an incoming call. Now all you need is a cellular data plan or a wired or wireless network connection. Anyone can reach you at yourname@sip.linphone.org. When friends sign up, their calls also will be free. You can talk as often and as long as you like.

blank

Should you ever lose or forget your password. here’s a link that will let you reset it.

The Linphone feature set is downright impressive. Here’s what you and your friends will be using at zero cost:

blank

CONFIGURATION TIPS: Missing audio or one-way audio is a common problem on SIP calls especially if your phone is sitting behind a NAT-based router. For best results, configure your account in the Linphone app to use UDP for the Transport, Disable the Outbound Proxy, configure stun.linphone.org as the Stun Server, and enable ICE. In Network settings, turn off IPv6 and Media Encryption. In Audio Settings, enable Opus, G.722, PCMU, and PCMA only. In Video Settings, enable both VP8 and H.264. Then close the app and reopen it.

blank

Once you have your Linphone credentials, another option in addition to using one of the SIP clients above is to acquire a stand-alone SIP telephone which can easily be connected to your Linphone SIP account. While there are literally hundreds of SIP telephones from which to choose, here’s a $40 offering from Grandstream that we like. It’s available from Amazon.1 Also consider Incredible PBX phones which take SIP communications to a whole new level.

blank

Unlike other proprietary communications apps, the beauty of using Linphone with its native SIP URI support is you can call any SIP phone in the world for free whether the recipient uses Linphone or not. For example, to annoy your friends and spammers, you can transfer their calls to Lenny: 2233435945@sip2sip.info. And here are some other SIP URI calls you might want to try. Store any or all of them in your Linphone Phonebook.

Your Linphone Friend - friend-name@sip.linphone.org
Yahoo News Headlines - news@demo.nerdvittles.com
Yahoo News Headlines - 951@demo.nerdvittles.com
Weather by Zip Code  - weather@demo.nerdvittles.com
Weather by Zip Code  - 947@demo.nerdvittles.com
Directory Assistance - information@demo.nerdvittles.com
Directory Assistance - 411@demo.nerdvittles.com
Call Any TollFree #  - **1800XXXXXXX@tollfree.future-nine.com

There are now more than 2,000 VoIP networks worldwide that support SIP URI access. Any person or organization with an account on any of these networks can be reached at no cost via SIP URI or via several hundred PSTN numbers. Using a SIP URI dialing prefix, you can call any referenced network@sipbroker.com. For example, *656news@sipbroker.com would reach the Nerd Vittles News Headlines from Yahoo. Or, from a PSTN phone, choose a local access number from the SipBroker worldwide directory, e.g. 702-789-0530 and then dial *656951 at the prompt for Yahoo News from Nerd Vittles. Call enabled PBX extensions the same way.

If you want to associate a phone number with your Linphone SIP URI, you can do it in a couple of ways. First, using a smartphone, you can link your cell number to Linphone within the Linphone app itself. If you have a free DID from IPComms, you can point it to your Linphone SIP URI. If you have a $1/month CallCentric DID, it can also be pointed to your Linphone SIP URI.

There’s one more nice surprise. Linphone accounts work much like the old key telephones and Google Voice setup that we all knew and loved. What that means is you can register the same Linphone account on multiple phones in different places.

Calling Linphone Users from Incredible PBX

Since Linphone doesn’t technically assign phone numbers to users’ accounts, you still need a way for PBX extensions to contact Linphone users. The easiest way is to create a Custom Extension for every Linphone user account you need to reach. In the FreePBX GUI, navigate to Applications -> Extensions -> Add Extension -> Custom Extension. Assign an Extension Number and Name to the custom extension. Then click on the Advanced tab. In the Dial field, enter the SIP URI for the Linphone user, e.g. SIP/username@sip.linphone.org. Click Submit and then Reload the Dialplan.

Originally published: Monday, October 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

  1. This phone requires a wired network connection. Some of our purchase links refer users to Amazon when we find their prices are competitive for the recommended products. Nerd Vittles receives a small referral fee from Amazon to help cover the costs of our blog. We never recommend particular products solely to generate Amazon commissions. However, when pricing is comparable or availability is favorable, we support Amazon because Amazon supports us. []

Oldie But Goodie: VoIP.ms, The Most Versatile VoIP Provider

blank

We all are fortunate to have an extraordinary selection of options when it comes to VoIP Providers. For redundancy and reliability, nobody quite matches Skyetel. For FreePBX® and SIP phone integration, ClearlyIP is the hands-down winner. And, if you’re searching for the Most Versatile VoIP Provider, look no further than VoIP.ms, now with a $10 signup credit with your first deposit to kick the tires. We are thrilled that all three of these providers are Platinum Sponsors of Nerd Vittles and our open source projects. Here’s our VoIP.ms signup link.

As we have often stressed, the beauty of VoIP is not having to put all your eggs in one basket when it comes to communications. Most of the offerings we write about are free when not in use. So, unlike in the MaBell days, you lose nothing by signing up with multiple providers and enjoying the best of all worlds. Today we want to highlight what makes VoIP.ms extra special.

VoIP.ms Points of Presence

When it comes to Points of Presence (POPs), VoIP.ms covers all the bases. This matters because the closer your VoIP provider is to the physical location of your PBX, the better your calls will be. In the case of VoIP.ms, your choice of POPs is impressive. In the United States, there are multiple POPs in Atlanta, Chicago, Dallas, Denver, Houston, Los Angeles, New York, San Jose, Seattle, Tampa, and Washington, D.C. In Canada, you can choose between multiple POPs in Montreal, Toronto, and Vancouver. For our international friends, there are POPs in Amsterdam, London, Paris, and Sydney.

VoIP.ms DID Options

In addition to free number porting, VoIP.ms has an impressive array of DIDs from which to choose. They offer DIDs in virtually every state, province, and country in the world as well as toll-free and fax numbers in many locations with per minute and unlimited calling options.

Obtaining VoIP.ms SIP URIs

There are now more than 2,000 VoIP networks that support SIP URI access. Using a SIP URI dialing prefix, you can call any of the referenced networks @sipbbroker.com. The beauty of SIP URI calling is the calls typically are free worldwide regardless of duration. There are a number of ways to obtain a SIP URI for your PBX. Perhaps the easiest is to set up the PUBLIC Incredible PBX cloud platform that we previously introduced. Then you can create as many SIP URIs as you like, and they can be used to perform any task that’s available with Asterisk®. If you’re not quite ready to make that leap, virtual SIP URIs are available from VoIP.ms for 25¢ a month. SIP URIs are treated just like DIDs with incoming calls billed at ⅒¢ per minute.

VoIP.ms Incoming Call Routing

For call routing, the options are equally impressive. In fact, you may decide you don’t need a PBX at all. VoIP.ms supports SIP and IAX2 trunk registrations using credentials or IP address, a customizable IVR, a call queue, conferencing, call forwarding, SIP URI forwarding, call hunting, ring groups, callback, DISA, custom music on hold, voicemail transcription, and impressive call failover options for each of the following conditions: busy, unreachable, and unanswered calls. You can also perform CNAM lookups on incoming calls as well as setting the ring time, customizing each DID’s voicemail setup, and choosing whether to record calls.

VoIP.ms Outbound Call Pricing

No article would be complete without some mention of pricing. VoIP.ms is not the cheapest provider on the planet. But, as the old saying goes, you get what you pay for. Calls to toll-free numbers are free. While that may seem obvious, it is the exception rather than the rule in the VoIP world. Calls to US-48 destinations are a penny a minute and are billed in six second increments. Calls to most Canadian destinations are about a half-cent per minute. Calls to Mexico are just over a penny a minute billed in one minute increments. International calls vary based upon destination and latest published rates. International calls are blocked unless you enable them, and you can choose the countries you wish to enable as well as a dollar limit.

VoIP.ms Messaging Services

One of our favorite VoIP.ms features is the variety of SMS and MMS messaging options they provide. Virtually all of their DIDs now support messaging. With incoming messages, you have the choice of routing the message to an email address, another SMS destination, the VoIP.ms Message Portal, an SMS URL callback destination, and now an SMS SIP account. Our tutorial below sets up SMS SIP messaging with Incredible PBX® 2020 or 2021. You then can send quick messages in response to incoming calls on your Clearly Anywhere softphone.

Configuring VoIP.ms for SMS SIP Messaging

Prerequisites: DID supports messaging, SMS SIP messaging enabled on the DID

First, create an Asterisk SubAccount using the SIP protocol with User/Password Authentication. In the Security section, enter the public IP address of your PBX, and Save your Settings. Next, acquire a DID in the VoIP.ms portal. Then choose the Manage DIDs option and edit your DID configuration. For Call Routing, select the SIP/IAX option and pick your SubAccount. Choose a DID POP near your PBX location. In the Message Service section, enable SMS SIP Account and pick your SubAccount. Then Apply Changes.

Configuring Incredible PBX for SIP Messaging

Prerequisites: PJsip VoIP.ms Trunk, PJsip Extension for SMS, sms-in and sms-out Contexts

Both PJsip Trunks and PJsip Extensions in FreePBX now support a Messages Context option in the Advanced tab of the setup GUI. Using the sms-in and sms-out contexts documented below, FreePBX now can process incoming and outgoing SMS messages. A typical use case in the Incredible PBX 2020 would be to quickly respond to an incoming call to the Clearly Anywhere app on your smartphone to indicate that you were in the midst of another call and would return the caller’s call. It is anything but a robust SMS messaging application for your smartphone, but it is a welcome addition for many mobile users that have to juggle both cellphone calls and office calls forwarded from a PBX to your smartphone. VoIP.ms has developed an excellent SMS Management Portal that is included in the VoIP.ms Dashboard. It allows you to read, respond, and manage SMS messages sent to your VoIP.ms DIDs.

Once you have completed the necessary setup steps on the VoIP.ms side, there are three steps to activate SMS SIP messaging with Incredible PBX: (1) create and register your VoIP.ms PJsip Trunk, (2) create and configure a PJsip extension to receive incoming calls and SMS messages, (3) add the sms-in and sms-out contexts to extensions_custom.conf dialplan.

(1) Create a PJsip Trunk for VoIP.ms in FreePBX to process calls and SMS messages:

blank

In the PJsip Settings tab, fill out the General tab. The Username will be your VoIP.ms account number followed by an underscore and then the name of the SubAccount you created above, e.g. 12345_mypbx. The Password will be the password you assigned to your VoIP.ms SubAccount. For SIP Server, enter VoIP.ms POP assigned to your DID, e.g. atlanta1.voip.ms. Accept the remaining defaults in the General tab. Click on the Advanced tab and scroll down to Message Context and enter sms-in. Click Submit and Reload your Dialplan.

(2) Next create a PJsip Extension in the FreePBX portal. This will be used to process calls and send SIP messages. NOTE: Incredible PBX ships with a number of chan_sip extensions preconfigured. Do NOT use these. You need to create a PJsip extension. The General tab should look something like this:

blank

Click on the Advanced tab and scroll down to Max Contacts and enter a number that is one more than twice the number of phones that will be connected simultaneously to this extension. For example, if you have 3 smartphones connecting to this extension, enter 7. Scroll down to Message Context and enter sms-out. Click Submit and Reload your Dialplan.

(3) Finally, cut-and-paste the following code into the bottom of extensions_custom.conf in the /etc/asterisk directory:

[sms-out]
exten => _.,1,NoOp(Outbound Message dialplan invoked)
exten => _.,n,NoOp(To ${MESSAGE(to)})
exten => _.,n,NoOp(From ${MESSAGE(from)})
exten => _.,n,NoOp(Body ${MESSAGE(body)})
;
; add your VoIPms info in the next 3 lines
exten => _.,n,Set(VOIPMS_ACCOUNT="123456_subacct")
exten => _.,n,Set(VOIPMS_POP="atlanta.voip.ms")
exten => _.,n,Set(VOIPMS_TRUNK="VoIPms-PJsip") ; actual VoIP.ms trunk in FreePBX
;
exten => _.,n,Set(NUMBER_TO=${CUT(CUT(MESSAGE(to),@,1),:,2)})
exten => _.,n,Set(EXTENSION_FROM=${CUT(CUT(MESSAGE(from),@,1),:,2)})
;
; Now map your sending extensions EXTENSION_FROM to corresponding DIDs NUMBER_FROM
exten => _.,n,Set(CASE_701=6005550101) ; ext 701 msgs originate from 6005550101
exten => _.,n,Set(CASE_702=6005550102) ; ext 702 msgs originate from 6005550102
exten => _.,n,Set(CASE_703=6005550101) ; ext 703 msgs originate from 6005550101
;
exten => _.,n,Set(NUMBER_FROM=${CASE_${EXTENSION_FROM}})
exten => _.,n,Set(ACTUAL_FROM="${NUMBER_FROM}" )
exten => _.,n,Set(ACTUAL_TO=pjsip:${VOIPMS_TRUNK}/sip:${NUMBER_TO}@${VOIPMS_POP})
exten => _.,n,MessageSend(${ACTUAL_TO},${ACTUAL_FROM})
exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _.,n,Hangup()
;-------------------------------------------------------------------------

[sms-in]
exten => _.,1,NoOp(Inbound SMS dialplan invoked)
exten => _.,n,NoOp(To ${MESSAGE(to)})
exten => _.,n,NoOp(From ${MESSAGE(from)})
exten => _.,n,NoOp(Body ${MESSAGE(body)})
;
; enter your default incoming SMS extension below
; if you want SMS messages delivered to multiple extensions,
; clone additional MessageSend lines below with extension numbers
exten => _.,n,Set(EXTENSION=701)
;
exten => _.,n,Set(ACTUAL_FROM=${MESSAGE(from)})
exten => _.,n,Set(HOST_TO=${CUT(MESSAGE(to),@,2)})
exten => _.,n,Set(NUMBER_TO=${MESSAGE_DATA(X-SMS-To)})
exten => _.,n,MessageSend(pjsip:${EXTENSION}@${HOST_TO},${ACTUAL_FROM})
exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _.,n,Hangup()
;-------------------------------------------------------------------------

In the pasted [sms-out] context, insert your actual VOIPMS_ACCOUNT, VOIPMS_POP, and VOIPMS_TRUNK name in the lines provided. Then map each extension from which you wish to send SMS messages to a VoIP.ms DID on your PBX in the lines provided. In the pasted [sms-in] context, enter the EXTENSION number which should receive incoming messages from the PJsip trunk in which you designated [sms-in] as the Message Context. There is no magic to the [sms-in] context name. If you have more than one PJsip trunk, simply create additional incoming contexts (such as [sms-in-2]) for each additional trunk and clone the [sms-in] code designating the desired extension to receive incoming messages from each DID. For the [sms-out] context, it can be used as the Message Context for multiple extensions that should be enabled to send outbound SMS messages.

Save the file, and reload the Asterisk dialplan: asterisk -rx "dialplan reload"

Once all the pieces are in place, SMS messages sent to your VoIP.ms DID will be delivered to the FreePBX trunk registered to the SMS SIP destination specified in your VoIP.ms DID setup. And here’s one more tip. If you happen to have a Yealink T46G (not T48G) or a Grandstream GXV phone that is also registered to that extension, the messages will also pop up on your desktop phone with an alert tone. On Grandstream GXV Android phones, we recommend dragging the SMS app to the main screen so that the incoming message count appears beside the SMS icon when new messages are received.

Our special thanks and much of the credit for this SMS/SIP solution for Asterisk goes to Stepan Novotill and the participants in this thread on the VoIP-Info Forum.

Signing Up for VoIP.ms Service

Please consider using the Nerd Vittles referral link should you decide to sign up for VoIP.ms services. These referral commissions help to defray the costs of maintaining Nerd Vittles and the Incredible PBX open source project. Many thanks.
 

Originally published: Monday, October 12, 2020  Updated: Saturday, August 28, 2021


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

The Ultimate Android Phone: Just $99 if you hurry

blank

If you follow Nerd Vittles, you already know all of the benefits of using an Android phone in the VoIP-centric world. You can make free calls without a cellular provider by connecting to any WiFi network with Android’s Google Voice app. You can connect to Incredible PBX® or any Asterisk® PBX and function as if you were sitting at your desk in your Covid-free office. You can join a virtual private network using OpenVPN without spending a dime. And you can play an endless collection of games for almost nothing.

blank

Now there’s more. Suppose there was a recyclable Android phone with a replaceable battery that could be repaired or replaced even with a cracked screen for just $59 including free shipping in the U.S., Canada, U.K., Germany, France, Italy, Spain, Netherlands, and Singapore. Suppose it came with a 4-year warranty and 3 full years of free Android updates plus Google Play Store support. Suppose it included NFC Google Pay compatibility, dual SIM support, USB-C charging, and a microSD slot for expansion. Did we mention an Octa Core processor, dual cameras, a 6.1″ HD+ display, and a headphone jack? Meet the Teracube 2e.

The icing on the cake is you can snag one of these babies for $99 if you hurry. Here’s the link.
 

Originally published: Tuesday, October 6, 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

Deploying an Incredible PBX 2020 PUBLIC Server

blank

With the almost overnight popularity of the new Clearly Anywhere softphone which provides Incredible PBX connectivity from virtually anywhere, we wanted to revisit our Incredible PBX 2020 PUBLIC tutorial to document some additional tips and tricks. And, because softphones need connectivity on both cellular networks and using Wi-Fi with dynamic IP addresses in multiple locations, exclusive whitelist-based access to Incredible PBX simply was no longer feasible. Additionally, due to Clearly Anywhere’s tight integration with the FreePBX® User Control Panel (UCP), remote access to UCP for mobile users has become more important particularly with the new QR Code auto-configuration option for Clearly Anywhere clients.

Safely deploying a public-facing Asterisk® server with full FreePBX functionality has become the Holy Grail for Nerd Vittles in 2019. Today we tackle it on the new Incredible PBX® 2020 platform featuring the latest releases of Asterisk 16 and FreePBX 15. The icing on today’s cake is an additional offer from Skyetel that supplements the current Nerd Vittles BOGO offer of up to $500 in half-priced VoIP services. Skyetel now starts you off with a $10 credit just for opening an account here. Then, after you have had an opportunity to kick the tires and perhaps purchase a DID for a buck, you can make $9 worth of phone calls before deciding whether to take advantage of the BOGO special by making a purchase of up to $250 and having Skyetel match your contribution. Once you have funded your account, you then can also take advantage of Skyetel’s free number porting offer for the next 60 days. To get your $10 credit, just open a ticket and request the $10 Nerd Vittles credit once you’ve signed up. To get the Nerd Vittles BOGO price match and take advantage of free number porting, simply open another ticket once you have added up to $250 to your account. Effective 10/1/2023, $25/month minimum spend required.

Making the Case for a Public-Facing PBX

We’ve had some of our pioneers trying out the Incredible PBX PUBLIC implementations for almost a year. Early on, the first question we got was why anyone would want to do this. After all, PBX in a Flash 3 and Incredible PBX for the better part of a decade have been deployed with a whitelist using the Travelin’ Man 3 firewall, and there’s never been a security issue. So why switch horses now? The short answer is mobile users with dynamic IP addresses. If all the users of your PBX are sitting behind the same NAT-based router with static IP addresses, the Travelin’ Man 3 design is perfect. The bad guys could never even see your server. But if some of your users either reside or travel outside your home base or if you want calls to follow you on your smartphone with Clearly Anywhere when you leave home or the office, then Travelin’ Man 3 blocked SIP access from these remote phones until their new IP addresses were whitelisted. Multiply this by dozens or hundreds of users, and network management suddenly became a full-time job. Yes, we’ve had tools such as dynamic DNS and PortKnocker to ease the pain, but it still was a knuckle-drill for mobile users. And, in today’s Covid world, much of the workforce is quickly morphing into mobile users without a traditional desk at any office. What we were also beginning to see were homegrown "improvements" to the IPtables firewall where users that didn’t appreciate the risks were exposing their servers to SIP attacks simply to ease the pain of connecting remotely.

The world also is becoming more SIP savvy. Just as folks are learning that a $35 antenna can provide an awesome collection of 4K Ultra HD TV channels without the expense of a monthly cable bill, others are learning that a SIP telephone or softphone app on your smartphone can provide free calls to and from anybody with a SIP URI without sharing your communications with Facebook or Microsoft. A public-facing PBX makes free worldwide SIP calling a reality.

Building the Base Platform for Incredible PBX PUBLIC

To get started today, begin by installing Incredible PBX 2020 using our latest tutorial. We strongly recommend a cloud-based KVM platform with a static IP address on the public Internet. We’ve even built an Incredible PBX 2020 image for our friends at CrownCloud. You won’t beat their pricing of $25/year which is about the same expense you will incur for electricity hosting your own server on premise. And you even get a snapshot backup at no additional cost.

Once you have set up your Incredible PBX 2020 server, the next step is to assign one or two fully-qualified domain names (FQDNs) to your server. You can have one FQDN for registering SIP extensions and a different one for anonymous SIP (invites) access to your server, or you can use the same FQDN for both. Security through obscurity provides an extra layer of protection for your server so choose your FQDNs carefully. sip.yourname.com provides almost no protection while f246g.yourname.com pretty much assures that nobody is going to guess your domain name. This is particularly important with the FQDN for SIP registrations because registered extensions on your PBX can obviously make phone calls that cost money. If you don’t have your own domain, you can always obtain a free FQDN from a service such as NoIP.com.

By default, Incredible PBX 2020 configures five extensions (701-705) and a Ring Group for those extensions (777) as well as four trunks. With Skyetel, your PBX is ready to make and receive calls as soon as you sign up. With the other three trunk providers, you only need to enable the trunk. You can add as many additional providers and extensions as you like and modify the ring group to meet your needs. To get started, be sure to configure the correct time zone for your server as this affects delivery of reminders. Run /root/timezone-setup. Next, set a secure password for admin access to the FreePBX GUI modules. Run /root/admin-pw-change. Then set a secure password for admin access to web applications such as AsteriDex, Reminders, and User Control Panel. Run /root/apache-pw-change. In addition to reviewing your extensions and ring group, review the default inbound route and choose the destination for the incoming calls from your provider. Finally, configure the outbound route to use the provider sequence desired. By default, it uses Skyetel for outbound calls.

If you plan to use Clearly Anywhere, you’ll need to add at least one PJsip extension on your PBX. Simply navigate to Applications -> Extensions in the FreePBX GUI. Choose Add Extension -> Add PJsip Extension. In the General tab, insert an extension number in User Extension and Display Name, e.g. 707. In the Advanced tab, set Max Contacts to 11 which will let you connect up to 5 Clearly Anywhere softphones to the extension. Click Submit and Reload Dialplan when prompted. Go back into the new extension and make note of your new credentials for User Manager. You’ll need these for Clearly Anywhere. Remember to also add the PJsip extension to the Inbound Route for your incoming calls.

Going Public with Incredible PBX 2020

Once you’ve tested making and receiving calls with your new server, you’re ready to convert it into a public-facing PBX. Before proceeding, remove any whitelist entries you’ve added using add-ip and add-fqdn by running del-acct. These can be added back after the GO-PUBLIC-2020 install script is run. In order to run the install script below, you’ll need your FQDNs that you chose above, plus a port number for future SSH/Putty access to your server, plus a list of the extensions you wish to make available for public access to your PBX. These whitelisted extensions can be reached via SIP URI from anywhere in the world by anybody. It works just like your old MaBell phone. Anybody, anywhere can dial your number. What’s changed is now the calls are free. So choose your list carefully. We recommend using the year you were born for your SSH port to keep things simple for you. Once the GO-PUBLIC-2020 script has been run, you can only access your PBX via SSH/Putty at the new port, for example: ssh -p 1990 root@yourFQDN.com

Now we’re ready to run the install script. It takes less than a minute. Before you begin, log out of ALL SIP extensions you have previously registered with Incredible PBX 2020 and change the server destination from an IP address to the FQDN you plan to assign to SIP registrations. Otherwise, these IP addresses will get banned while the install script is running below!

cd /root
wget http://incrediblepbx.com/go-public-2020.tar.gz
tar zxvf go-public-2020.tar.gz
rm -f go-public-2020.tar.gz
./GO-PUBLIC-2020

A Few Words About Incredible PBX PUBLIC Security

As with all Incredible PBX servers, Incredible PBX 2020-PUBLIC includes the Automatic Update Utility. Please don’t disable it. It’s our only way to push updates to you if some vulnerability is discovered down the road. It gets run whenever you login to your server as root using SSH/Putty. Do so regularly and follow us on Twitter for security alerts. There’s also an Incredible PBX RSS Feed that is displayed when you login to the Incredible PBX GUI with a browser. It, too, includes security alerts and should be checked regularly. It’s your phone bill.

Incredible PBX 2020-PUBLIC uses the ipset utility in conjunction with the IPtables firewall to block several countries that have inordinately high concentrations of folks that try to break into VoIP servers. In addition, your public PBX includes the VoIP Blacklist which includes another 100,000 bad guys from around the globe. These blacklists get updated every night by a script which is run from /etc/crontab. For your own safety, don’t disable or delete /etc/update-voipbl.sh or the other components upon which it relies.

Here are some other things you should do regularly to assure that your server remains secure. Login via SSH/Putty as root and check pbxstatus after the Automatic Update Utility is run. With the exception of the fax components, all the other items should be green all the time. From the Linux CLI, run: iptables -nL. This will show your firewall rules and whether any IP addresses have been banned by Fail2Ban. If there are banned IP addresses that are not your own, please open a thread on the VoIP-Info Forum and let us know about it. If there are dozens of banned IP addresses, shutdown your server immediately until the problem is identified and resolved. If the IP addresses happen to be your own users because of using incorrect passwords or because of using a server IP address instead of its FQDN for SIP registrations, unban the IP address:

fail2ban-client set asterisk unbanip xxx.xxx.xxx.xxx

Finally, watch the Asterisk CLI periodically for abnormal activity: asterisk -rvvvvvvvvvv

Tightening Up SSH Server Access

You obviously need a very secure root password for access to your server using SSH/Putty. Changing the TCP port for SSH access avoids the script kiddies, but it doesn’t offer much protection from a determined cracker. SSH login attempts are monitored by Fail2Ban, but Fail2Ban has issues when a determined intruder is using a powerful computing platform such as Amazon EC2. The more prudent solution is to disable SSH port access and use SSH Public Key Authentication as documented in the linked tutorial. Always, always use ssh-copy-id to copy your credentials to more than one desktop machine so that you don’t inadvertently lock yourself out of your PBX in the case of a hardware failure.

Web Access to Incredible PBX 2020 PUBLIC

By default, web access to all apps including FreePBX, UCP, AvantFax, AsteriDex, and Reminders is limited to whitelisted IP addresses. For some implementations, particularly those using Clearly Anywhere, this may not be ideal as UCP can assist with user management of the PBX as well as QR code provisioning of Clearly Anywhere. The Apache web server can be used to manage web access so long as you understand the need to apply Apache security patches in a timely manner.

Assign the same FQDN that you use for SIP access to port 80 for the UCP application. Deploy OpenVPN on your server and use the PBX’s OpenVPN IP address for general access to all web applications we listed above. If you’d like public access to the FreePBX GUI, assign web access for it to another random port, e.g. 8080 in our example below. Block web access to your server from the public IP address of your PBX on both port 80 and 8080 in our example below. Here’s how to accomplish that. Create a new file in /etc/pbx/httpdconf. Create public.conf with the following contents:

Listen 8080
 
<virtualhost *:80>
ServerAdmin you@gmail.com
ServerName 111.112.113.114
Redirect 403 /
UseCanonicalName Off
UserDir disabled
</virtualhost>

<virtualhost *:8080>
ServerAdmin you@gmail.com
ServerName 111.112.113.114
Redirect 403 /
UseCanonicalName Off
UserDir disabled
</virtualhost>

<virtualhost *:80>
ServerAdmin you@gmail.com
ServerName server-fqdn.com
DocumentRoot /var/www/html/ucp
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log common
</virtualhost>

<virtualhost *:80>
ServerAdmin you@gmail.com
ServerName 10.8.0.123
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log common
</virtualhost>

<virtualhost *:8080>
ServerAdmin you@gmail.com
ServerName server-fqdn.com
DocumentRoot /var/www/html
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log common
</virtualhost>

<virtualhost 127.0.0.1:80>
ServerAdmin you@gmail.com
ServerName 127.0.0.1
ServerAlias localhost
DocumentRoot /var/www/html
</virtualhost>

In the ServerAdmin lines, insert your email address. Replace 111.112.113.114 with the public IP address of your server. Replace server-fqdn.com with the FQDN assigned for SIP registration access to your PBX. Replace 10.8.0.123 with the OpenVPN private IP address of your PBX. Replace 8080 with the port you chose for FreePBX access to your server. Save the file and then restart Apache:  systemctl restart httpd.

Now it should be safe to open TCP port 80 and 8080 (or whatever port you chose) for web access to your server. Let’s also whitelist TCP 2267 for Clearly Anywhere access while we’re at it:

cd /etc/sysconfig
sed -i 's/10000:20000 -j ACCEPT/&\\n-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT/' iptables
sed -i 's/10000:20000 -j ACCEPT/&\\n-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT/' iptables
sed -i 's/10000:20000 -j ACCEPT/&\\n-A INPUT -p tcp -m tcp --dport 2267 -j ACCEPT/' iptables
iptables-restart

Be sure to test all three access methods to verify that you haven’t left a security hole.

Keeping FreePBX 15 Modules Current

We strongly recommend that you periodically update all of your FreePBX modules to eliminate bugs and to reduce security vulnerabilities. From the Linux CLI, log into your server as root and issue the following commands:

rm -f /tmp/*
fwconsole ma upgradeall
fwconsole reload
/root/sig-fix
systemctl restart apache2
/root/sig-fix

Special Thanks: We want to give an extra special tip of the hat to the VoIP-Info Forum members who assisted in working the kinks out of the Incredible PBX PUBLIC offering. We also wish to thank JavaPipe LLC for a number of DDOS tips and tricks in securing CentOS 7 with IPtables.

Originally published: Monday, December 30, 2019    Updated: Monday, September 28. 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

Clearly Anywhere: The Ultimate Mobile User VoIP Companion

blank

The wait is over! If you like sliced bread, then today’s your lucky day to enjoy the next best thing. Perhaps the single most important component in the VoIP toolbox for any PBX deployment that includes mobile users is a softphone for Android and iOS devices. We began this month with a tip for users of a limited number of Android smartphones. And we have previously written about Linphone and Zoiper and Telephone. We’ve also sung the praises of earlier releases of Google’s Pixel smartphone which makes a perfect VoIP companion even without a cellphone provider. Today we’re pleased to introduce Clearly Anywhere for Incredible PBX 2020 PUBLIC platforms that checks all the boxes: security, reliability, flexibility, feature set, emergencies, and a very reasonable price that covers unlimited devices per user extension. Downloading Clearly Anywhere onto your smartphone from the App Store or Google Play, setup is instantaneous using Clearly Anywhere’s native QR code activation.

  • Security: SIP credentials need not be shared with the Softphone provider
  • Reliability: Incoming calls arrive via Push Notifications whether app is running or not
  • Flexibility: With PJsip, multiple iOS & Android devices can share the same extension
  • Feature Set: SMS, BLFs, recording, video calls, DND per phone with Custom Scheduling
  • Emergencies: Easily reroute 911 calls to the cell carrier for reliable location identification
  • Intro Price: Through October 31: $9.99 per user per year with grandfathered rate lock




 

Clearly Anywhere Setup on Incredible PBX 2020

Before you deploy Clearly Anywhere on your smartphones, you first must set things up on the PBX side. Here’s how the process works. First, you will need to deploy the PUBLIC version of Incredible PBX 2020. This will reconfigure the IPtables firewall to support Clearly Anywhere. It requires assignment of a fully-qualified domain name (FQDN) for your server. The FreePBX® Clearly Anywhere module is licensed on a per PBX basis. In order to activate the FreePBX module, you’ll next need to purchase one or more user licenses from our Incredible PBX Store. As part of the purchase process, you’ll be prompted to provide the FQDN of your Incredible PBX 2020 PUBLIC server plus the TCP port that Clearly Anywhere clients will use to communicate with your PBX. By default, that port is TCP 2267. We will whitelist TCP port 2267 (or a port of your choice) as part of this setup process. Finally, you will be provided a Registration Token to activate the Clearly Anywhere module when you first run it in FreePBX. Then you simply activate the Clearly Anywhere client for the extensions corresponding to the number of licenses you have purchased.

1. Let’s begin by installing the Clearly Anywhere module for FreePBX. Log into your server as root and issue the following commands from the CLI. NOTE: After this initial install, future updates to the Clearly Anywhere module will be handled in the traditional way using the Module Admin utility in FreePBX.

fwconsole ma downloadinstall http://incrediblepbx.com/clearlysp-14.0.2.tgz
fwconsole reload
/root/sig-fix
/root/sig-fix

2. Purchase one or more client licenses from the Incredible PBX Store. Keep in mind that, if multiple users will be sharing access the same extension, you only need a single license for each extension. And, if you will be setting up multiple smartphones using the same extension on your PBX, that only requires a single license as well.

3. When prompted, provide the FQDN of your server as well as the TCP port that will be used by Clearly Anywhere clients to communicate with your PBX. Default is TCP 2267. To avoid service interruptions, we strongly recommend against using a dynamic IP address for your server. Even with a dynamic DNS utility, there will be times when your Clearly Anywhere clients cannot reach the PBX unless it has a static, public IP address. If you need a cloud-based solution, the $25/year offering from Crown Cloud has no equal.

4. Decipher the Registration Token from the Clearly IP email confirmation.

5. Using a web browser, access the FreePBX GUI using your admin credentials. Navigate to Settings -> Clearly Anywhere. Enter your Registration Token at the prompt. Your Clearly Anywhere configuration will display. NOTE: If you purchase additional client licenses down the road, revisit this page and click Refresh to update your license count.
blank

6. Next, you need to activate Clearly Anywhere for each PJsip extension that will be used with the softphone clients. Each additional extension requires a separate Clearly Anywhere license. Navigate to Admin -> User Management and then Edit the desired Username. Click on the Clearly Anywhere tab and set Enable Softphone to ENABLE. If you previously have subscribed to Incredible SIP Trunking in our ClearlyIP Store, then you also have the option of enabling SMS Messaging on any of the DIDs assigned to your account. As the video above explains, this SMS messaging carries across all of the Clearly Anywhere clients as well as the UCP connected to this same extension on your PBX. IMPORTANT: In PJsip Advanced settings, remember to increase the Max Contacts entry by two for each softphone that will be connecting to the PJsip extension.
blank

7. Whitelist TCP 2267 assigned for Clearly Anywhere API client connections to your server:

cd /etc/sysconfig
sed -i 's/10000:20000 -j ACCEPT/&\\n-A INPUT -p tcp -m tcp --dport 2267 -j ACCEPT/' iptables
iptables-restart

Clearly Anywhere Setup on Smartphones

The setup process on the smartphone side is simple. Begin by downloading the Clearly Anywhere app from either the App Store or Google Play for your device. Once the client softphone is installed, run the app. You will be prompted for the UCP user credentials and FQDN of your PBX. You can manually enter these, or you can access the User Control Panel (UCP) for the desired user/extension and activate the QR code Provisioning widget for the account. Then, instead of entering the credentials manually on every softphone, you can choose the QR code option and simply point your smartphone at the QR code displayed in UCP. Connections are virtually instantaneous.NOTE: The beauty of this design is SIP credentials need not be shared with the provider.1 While UCP accounts, by default, are created using the extension numbers to which they are associated, these usernames can be changed to anything you like. So, for the 701 extension, if you want to change the UCP login name in your extension settings to BettyBoop, that’s perfectly okay.

Once connected, click on the Settings icon in Clearly Anywhere. Verify that Push Notifications are enabled for Incoming Calls. In the Preferences tab, set a Ring Tone for incoming calls and decide whether to record calls. The Network preference by default will choose WiFi and then Cellular with automatic roll-over when needed. If you want 911 calls routed through your cell carrier instead of through your PBX, choose Number Rewriting, click +. For Conditions, choose Equals 911. For Actions, choose Override Dial Action and select gsmCall. Click Done.

You’re now a Clearly Anywhere Expert. We hope you enjoy using the Ultimate Softphone with Incredible PBX 2020.
 

Originally published: Monday, September 21, 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

  1. If you activate Push Notifications, SIP credentials must be stored on the SIPIS server in order to reregister your softphone with your PBX when incoming calls arrive. This is an Asterisk and PJsip limitation. []

SPAM Blocker & CNAM Cornucopia for Incredible PBX 2020


blank

If you enjoy calls from politicians and car warranty offers as much as we do, then today’s your lucky day. 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 our previous tutorials, we want to introduce a refined call screening approach to block these calls. The way it works is first time callers that are not on your WhiteList 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, the call is sent to voicemail. In the alternative, you can play a SIT tone and disconnect the call or you can send the call to your favorite uncle, Lenny. When a successful caller calls again, the caller will be connected without a prompt.1

While today’s approach won’t block every robocaller, our testing suggests that it will catch more than 95% of these annoying calls. Using CallerID Superfecta coupled with the Asterisk® Phanebook will provide an extremely low-cost solution both for blocking spammers AND for displaying accurate CNAM data for incoming calls. The silver lining is you’ll only pay for CNAM lookups from legitimate callers once, and you have a choice of using OpenCNAM or BulkCNAM with the scripts we’ll provide today. Last, but not least, you’ll also get CNAM data for outgoing calls in your CDR logs.

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)})}?CNAMOK)
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,Dial(local/53669@from-internal) ; uncomment to send to Lenny
exten => s,n,Zapateller()
exten => s,n,Hangup
exten => s,n,Return()
exten => s,n(CNAMOK),Set(CALLERID(name)=${DB(cidname/${CALLERID(number)})})
exten => s,n,Goto(WHITELISTED)
exten => s,n(ANONTEST),GotoIf($[${CALLERID(num)} > 0]?WHITELISTNOW:CONNECTNOW) 
exten => s,n(WHITELISTNOW),Set(DB(cidname/${CALLERID(number)})=${CALLERID(name)})
exten => s,n,Set(CALLERID(all)="${CALLERID(name)} <${CALLERID(number)}>")
exten => s,n,Goto(SENDEMAIL)
exten => s,n(WHITELISTED),Set(CALLERID(all)="${CALLERID(name)} <${CALLERID(number)}>")
exten => s,n,Goto(CONNECTNOW)
exten => s,n(SENDEMAIL),NoOp(WhiteListed: ${CALLERID(all)})
exten => s,n,Set(email="root")
exten => s,n,GotoIf($[${email} = "root"]?CONNECTNOW)
exten => s,n,system(echo "In Asterisk Phone Book, verify new CNAM entry of ${CALLERID(name)} for ${CALLERID(number)}." | /usr/bin/mail -s "Incredible PBX CNAM Reminder" ${email})
exten => s,n(CONNECTNOW),NoOp(*** end of sub-log-caller ***)
exten => s,n,Return()
;-------------------------------------------------------------------------------

 
The beauty of today’s design is that it won’t interfere with your existing call processing rules. In other words, FreePBX® Inbound Routes sent to IVRs, Ring Groups, Conferences, and even incoming Faxes still will be processed exactly as they have been in the past once the CallerID number makes it onto your WhiteList. In order to preserve all of this existing functionality, we’ve tweaked the FreePBX Core module slightly, but it will be transparent going forward. The only caveat is that whenever you upgrade the Core module, you’ll always need to run the /root/sig-fix script to reimplement this new call screening process and to disable Module Signature Checking which has always been an integral part of Incredible PBX.

We first introduced some of these concepts in our previous article in 2018. 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 today’s installer will back up your prior version and overwrite it with this new, improved release.

Here are the basic steps to get this working:

  1. Configuring CallerID Superfecta in FreePBX
  2. Enabling CallerID Superfecta on Inbound Routes
  3. Setting the Proper Context for Your Trunks
  4. Downloading & Installing Call Screener
  5. Importing Previous Callers into WhiteList

1. Configuring CallerID Superfecta in FreePBX

CallerID Superfecta is an integral component in today’s new call screening design. It will be used both to populate the Asterisk Phonebook’s WhiteList and to provide CallerID Name (CNAM) data about your callers while assuring that you only pay for one CNAM query even though grandma may call you a dozen times a day. We use the Asterisk Phonebook as the whitelist of authorized callers. The way CallerID Superfecta works is it checks multiple sources for a match on the incoming CallerID Number. As soon as a match is found, the checking ends and the CallerID Number and Name are passed to our Call Screening script.

The CallerID Superfecta lookup sequence needs to be set as follows in the United States: AsteriDex, Asterisk Phonebook, and then one of the following commercial CNAM lookup services: OpenCNAM or BulkCNAM. In other countries, there still may be free CNAM services, but they’ve all disappeared in the U.S. market. We’ve documented the other available sources in a previous Nerd Vittles article.

Low-volume OpenCNAM Value pricing provides global lookups for $0.0028 each. BulkCNAM provides CNAM queries with RoboCall identification for $0.002 per query. If you sign up with OpenCNAM, you will need your Account SID and Auth Token to configure CallerID Superfecta and to populate our Call Screening script. If you sign up with BulkVS, you will need your API Key from the API Credentials tab in your BulkVS Dashboard.

With your credentials in hand, login into FreePBX as admin and navigate to Admin -> CID Superfecta -> Default. Arrange and enable the lookup sources in the following order: AsteriDex, Asterisk Phonebook, and then either OpenCNAM or BulkCNAM (in the U.S. market) or your country’s best CNAM lookup source. Be sure to enter your credentials for the CNAM provider by clicking on the wrench icon beside the provider. If your incoming trunks already provide CNAM lookups (such as BulkVS and Incredible PBX Trunking), then you can substitute Trunk Provided as your CNAM lookup service. With Incredible PBX Trunking, in addition to free CNAM lookups, you also get SPAM detection at no additional cost. For details on the service, follow this link. Then we typically set Telco Data as the last lookup source which will at least give you the city and state of the caller.

2. Enabling CallerID Superfecta on Inbound Routes

By default, CallerID Superfecta is not enabled for incoming calls to your PBX. You must enable it on every Inbound Route by navigating to Connectivity -> Inbound Routes and then editing each of your routes. Then click on the Other tab and set Enable Superfecta Lookup to YES and set the Superfecta Scheme to DEFAULT. Click SUBMIT to save your route settings and then reload the dialplan when prompted.

3. Setting the Proper Context for Your Trunks

It’s equally important to make certain that the CallerID Numbers for all of your incoming calls arrive in the same format. Computers are stupid. 8005551212 and 18005551212 and +18005551212 are completely different callers as far as your PBX is concerned. If different trunks deliver calls with CallerID Numbers formatted differently, then you would need to whitelist ALL of the various permutations for every caller in the Asterisk Phonebook. For those in the U.S. and Canada that primarily receive calls from the U.S. and Canada, we recommend setting the context entry in every trunk to from-pstn-e164-us. This will handle the translation of all 3 number formats above into 10-digit numbers. Calls from other countries will not be affected.

4. Downloading & Installing Call Screener

Now let’s put all the Call Screener components in place and configure the screening setup to meet your own requirements. To get started, log into Incredible PBX as root and issue the following commands:

mkdir /tmp/CALL-SCREENER
cd /tmp/CALL-SCREENER
wget http://incrediblepbx.com/CallScreener.tar.gz
tar zxvf CallScreener.tar.gz
rm -f CallScreener.tar.gz
./install

Once the install is begun, the editor will open to the dialplan code. In the [sub-log-caller] context, you have a few options. First, you need to choose how to handle incoming calls where the caller does not enter the "press 5″ number prompt in a timely manner. The default setup (line 9) sends these callers to voicemail for extension 701. You can change the voicemail extension, or you can elect to treat the calls differently. We’ve provided two additional options. Line 10 will send the calls to Lenny at extension 53669. Line 11 will send the calls to Zapateller which is the universal tone for numbers that are not in service. You should enable only one of these three options and comment out the other two by placing a semicolon (;) at the start of the other two lines. If you have fax detection enabled on your PBX, you probably would not want to send failed calls to either Lenny or Zapateller since you may never know the incoming faxes failed. Similarly, if you get calls from people with rotary dial phones such as Grandma, you probably don’t want her talking to Lenny or listening to Zapateller tones.

The next option is which number to prompt callers to press. The default is 5. But you can change it by modifying the existing 5 entry on BOTH lines 5 and 7.

The final option in the [sub-log-caller] context is to activate email notifications for new callers that pass the screening test. This is especially important if you receive lots of calls from cellphone users. Most of those calls will arrive with a CNAM entry of nothing more than the caller’s City and State. Activating an email reminder will notify you to update the Asterisk Phonebook entry for such callers to replace the City, State entry with the caller’s actual name so that your CDR listings and future calls provide accurate CNAM information for the caller. To activate email reminders, replace root in Set(email="root") line with your actual email.

The [macro-dialout-trunk-predial-hook] context handles populating the Asterisk Phonebook WhiteList for outbound calls you make to people that are not yet in your Asterisk Phonebook. These numbers will automatically be added to your whitelist, but you also have the option of adding CNAM entries for these outbound calls using either OpenCNAM or BulkCNAM for outbound calls to numbers that are not yet in your Asterisk Phonebook. To activate CNAM lookups, simply uncomment either line 4 or 5 in the context. For the service you have activated, remember to also enter your Account SID and Auth Token in the case of OpenCNAM or your API Key in the case of BulkCNAM. If you leave both lines commented out which is the default, the callee’s phone number will be entered as both the CNAM and CNUM entry in the Asterisk Phonebook.

Once you have made all the changes desired, save the template by pressing Ctl-X, then Y, then ENTER. The installer then will complete installation of the Call Screener components.

5. Importing Previous Callers into WhiteList

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 or BulkCNAM 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 building the import list, you’ll have an opportunity to prune the list and remove any undesirable entries using nano. To generate the .csv file, issue the following commands:

cd /root
./export-CDR

Now you should have a 2YR-clean.csv file in its final form for import. 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-clean.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.
 

Originally published: Monday, September 14, 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


 

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

Frozen in Time: Sangoma at a Crossroads or the Cliff

blank

We are fast approaching the 18 month anniversary since the mass exodus of talent from Sangoma and Digium. During that time, Asterisk® and FreePBX® have languished in limbo with FreePBX commercial modules mired in discontinued encryption methods and the Asterisk and FreePBX feature set frozen. Sangoma’s acquisition of Digium gave the company a well-respected business phone system in Switchvox® while relegating FreePBX deployments with commercial modules to second-class citizen status.

Now Sangoma has a difficult and expensive decision to make. In order to continue to deploy FreePBX commercial modules on a current operating system and PHP platform, they are facing a multi-million dollar investment to retool all of the commercial modules using an entirely different encryption platform which will generate additional headaches with their module repositories which now must manage and maintain two different sets of modules. Think of it as migrating from an English-based operation to one in which the customer base speaks either English or French, but not both. In the meantime, Asterisk 17 is fast approaching end-of-life while Asterisk 16 is getting long in the tooth with only minor fixes of late. And there’s FreePBX 15 which hasn’t seen significant upgrades since the departure of the former Schmoozecom staff in April of 2019.

While we have never agreed with the Sangoma CEO about much of anything, let’s take over the management reins for a moment and look at the landscape. The Digium acquisition coupled with some other purchases has left Sangoma with a mountain of debt in the middle of a global pandemic. Coronavirus also has forced many businesses to reassess their long-term office strategy. With nearly everyone on the planet now carrying a smartphone and most current employees having high-speed Internet connectivity at home neither of which the company has to pay for, does a fancy office for every employee still make good business sense? When you have a well-positioned business phone offering in Switchvox, does it make good business sense to continue to pump boatloads of money into a competing FreePBX commercial product simply to preserve its functionality? At the same time, Sangoma’s open source Asterisk and FreePBX products need a serious shot in the arm to remain viable. For example, FreePBX 15 with its User Control Panel won’t run on CentOS 8, and CentOS 7 reaches EOL status in December.

So here’s our first act as Sangoma CEO. Convert all of the existing FreePBX commercial modules into open source, GPL code while offering existing FreePBX commercial module customers a 50% discount to migrate to Switchvox within the next six months. We would stagger conversion of the commercial modules to GPL code by releasing three on the first day of every month. This would keep Sangoma in the news for many months to come. The move would not only restore Asterisk and FreePBX to their well-deserved position at the forefront of the open source community, but it would also give Switchvox a leg up in the commercial phone system marketplace. By keeping the identity of the monthly releases a secret, it would build much needed momentum for Sangoma’s open source offerings while reinforcing Sangoma’s commitment to the open source community. Give it some thought, Sangoma!
 

Originally published: Tuesday, September 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

Android Alert: Unmasking Your Hidden SIP Phone

blank

Perhaps the single most important component in the VoIP toolbox for any PBX deployment that includes traveling users is the softphone whether it’s deployed on notebook computers or smartphones. We’re kicking off football season with reviews of some of our favorite SIP softphones for mobile users. We’ve previously written about Linphone and Zoiper and Telephone. We’ve also sung the praises of earlier releases of Google’s Pixel smartphone which makes a perfect VoIP companion even without a cellphone provider. Today we’re passing along an Android tip from @w1ve on the VoIP-Info.org Forum for anyone needing PBX connectivity while away from the home or office. And it won’t cost you a dime so long as you already have an Android smartphone with either a Wi-Fi connection or a data plan with any cellphone carrier.

You may be unaware that Android has been shipping with a native SIP phone since as far back as Android Marshmallow which will be five years old next month. Some phone manufacturers such as Chinese-owned Lenovo/Moto disable the SIP functionality, but many do not including Google, Samsung, and OnePlus. If you’ve deployed an Incredible PBX 2020 PUBLIC server in the Cloud with a PJsip extension, the beauty of this discovery is that you’ll always have VoIP connectivity through your PBX with only a WiFi connection. No SIM is required!

To determine if your Android smartphone includes the SIP dialer, simply open the native Phone app and tap the three vertical bar icon at the top of the dialer menu. From the pull-down menu, choose Settings, Calls, and Calling Accounts. If your Android smartphone includes support for the native SIP dialer, there will be a SIP Accounts option in the menu.

blank

TIP: Even if the SIP Menu doesn’t appear on your smartphone, it may be that the manufacturer simply disabled the menu without actually trashing the SIP functionality as Lenovo has done. To determine whether the menu has simply been hidden, install QuickShortcutMaker from the Play Store. Run the app and scroll down and tap the SIP Settings option and click Test. It should bring up the SIP Accounts menu shown below.

Tapping SIP Accounts and then + icon will open a dialog to add a SIP account to your phone.

blank

With an Incredible PBX 2020 PUBLIC server, the entries should look like the following:

  • Username: Your PJsip extension
  • Password: Your PJsip password
  • Server: FQDN of Your PBX
  • Optional Settings -> Port: 5061

Keep in mind that an FQDN for the Server address is required with an Incredible PBX 2020 PUBLIC server. If your server is using a dynamic IP address, you also would want to configure the FQDN using a Dynamic DNS service and refresh that FQDN periodically on your PBX using a cron job. Once you’ve entered your credentials, tap SAVE to activate the SIP account on your smartphone. It should then appear in the SIP Accounts window as shown above.

Next, you have some choices to make as to how the SIP account is actually used. As you can see from our setup (shown above), we allow outbound calls using either the SIM card or the SIP phone, and the phone will prompt for a choice whenever you make a call. We also have activated Inbound SIP calling which, as the dialog explains, uses some battery life. Finally, if you elect to use a chan_SIP extension on your PBX, make certain that you have enabled NAT Mode in the Advanced tab, or you will experience one-way or no audio on calls. This is not required with PJsip extensions. One of the other beauties of PJsip extensions is that you can assign this extension to multiple SIP devices including softphones and desktop phones so long as you increase the Max Contacts entry in the Advanced tab for the PJsip extension. In this way, you can answer incoming calls on your desktop phone when you’re at home or in the office and answer the same calls on your smartphone when you’re out and about. Enjoy!
 

Originally published: Tuesday, September 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