Home » Posts tagged 'issabel'
Tag Archives: issabel
UC on Steroids: Incredible PBX for Issabel Joins the Cloud
We’re pleased to introduce the 2019 edition of Incredible PBX® for Issabel featuring new VPS cloud provider support and one-minute setup for Skyetel SIP trunking. One of the limitations of Issabel 4 has been the required use of the ISO installer to deploy Asterisk® 13. This 2019 release addresses that limitation and lets you do a fully scripted install using one of our four recommended $7 to $15 a year VPS cloud providers.
This new release includes our next generation Incredible PBX 13 platform with a preconfigured Travelin’ Man 3 firewall, additional text-to-speech engines (FLITE, GoogleTTS, PicoTTS, and IBM TTS), voice recognition with IBM’s state-of-the-art STT engine, turnkey trunks and extensions, SMS messaging, telephone reminders, turnkey fax support, an AsteriDex phone book with both voice and speed dialing, Wolfram Alpha, sample ODBC apps, and a boatload of dialplan code and AGI scripts to help anyone wanting to learn how to develop custom applications with Asterisk. This is one fantastic UC platform!
Installing Issabel on a Cloud-Based VPS Platform
If you wish to install Issabel 4 on a cloud-based OpenVZ server, here’s the drill. Start by creating a CentOS 7/64 platform. Once the platform is ready, log in to your server as root and immediately change your root password. Then execute the remaining commands in the order listed below. Don’t worry if you cannot access the Issabel web GUI when the install finishes. We’ll fix this up during the Incredible PBX install shortly. Now jump down to the Incredible PBX installation steps to continue.
passwd yum -y install wget nano wget -O - http://repo.issabel.org/issabel4-netinstall.sh | bash yum -y erase asterisk yum -y install asterisk13 reboot
Installing Issabel with Asterisk 13.22.0 from ISO
If you’re using your own hardware or a platform that lets you upload an ISO and deploy, begin by downloading the October 2, 2018 Issabel ISO from SourceForge. On the platform of your choice, install Issabel 4 specifying your Keyboard and Installation Destination with Asterisk 13 as your Software Selection. Add the Sangoma WANPIPE component if desired. Set your Root password and have a cup of coffee. After a reboot, you’ll be prompted to set your MySQL/MariaDB root password (must be passw0rd with a zero) and the admin password of your choice to login to the Issabel web GUI. Be sure to use the new October 2018 Issabel ISO for the base Issabel install. It includes support for Asterisk 13.22.0. We will update things from there as part of the new Incredible PBX install below.
Installing Issabel with VirtualBox
For those using VirtualBox, we’ve uploaded a new Issabel 4 .ova image to SourceForge which will save you some time in getting Issabel up and running. Once you’ve downloaded and installed the image in VirtualBox, you can log in as root using the default password: password. Then you can set your admin password for the Issabel GUI by running /root/admin-pw-change.
Installing Incredible PBX 13 for Issabel 4
As with all Incredible PBX builds, running the Incredible PBX installer will erase ALL of your existing Issabel configuration so start with a fresh install of Issabel.
Begin the Incredible PBX install by logging into your Issabel server as root from a desktop PC using SSH or Putty and execute the following commands:
cd /root wget http://incrediblepbx.com/IncrediblePBX13-Issabel4.sh chmod +x IncrediblePBX13-Issabel4.sh ./IncrediblePBX13-Issabel4.sh
The Travelin’ Man 3 firewall is installed and configured as part of the install. It whitelists certain IP addresses and blocks everyone else from even seeing your server on the Internet. For this reason, it is critically important that you perform the Incredible PBX install using SSH or Putty from a PC that you will use to manage your Issabel server. Otherwise, you risk locking yourself out of your own server. Whitelisted IP addresses include the Issabel server itself, the public and private IP addresses of your desktop PC, all non-routable, private LAN addresses, and the Nerd Vittles collection of recommended SIP hosting providers. You can add as many additional providers or users to the whitelist using the simple tools provided as part of the install and further documented below.
As part of the install process, you’ll be prompted during both passes to create a password for MySQL/MariaDB and an admin password for the Issabel web GUI. The MySQL password MUST be passw0rd (with a zero), or you will get a permanent mess. The admin password can be anything you like. Passwords can be updated by running /root/admin-pw-change. Many of the Incredible PBX apps depend upon this MySQL password so don’t change it. Your MySQL databases remain secure and can only be accessed on localhost or after a successful root login to your server from a whitelisted IP address.
WhiteListing IP Addresses in Fail2Ban
We also strongly recommend that you whitelist the IP addresses of computers you plan to use to access your new Issabel PBX. The reason is because Fail2Ban jails take precedence over IPtables settings. So even if your IP address has been whitelisted with IPtables using the Travelin’ Man 3 utilities, it’s still possible to lock yourself out of your server by entering the root or admin passwords incorrectly. Here’s how to avoid that. Edit /etc/fail2ban/jail.conf. Scroll down to line #50 which begins with the word "ignoreip." WhiteListed IP addresses are entered here with a space separating each entry. Once you have entered one or more addresses, save the file. Then restart Fail2Ban: service fail2ban restart
.
Introducing the (new) Travelin’ Man 3 Firewall
Issabel 4 includes an IPtables firewall component. Do NOT activate it because Incredible PBX includes its own preconfigured IPtables firewall, better known as Travelin’ Man 3. With the Issabel 4 firewall, the administrator is responsible for setting all of the firewall rules. With Travelin’ Man 3, all the heavy lifting is done for you. The design is also markedly different. Issabel 4 opens ports which you define, but it gives worldwide access to those ports by any user. Travelin’ Man 3 employs a WhiteList rather than opening ports for everyone. If you’re on the WhiteList, you get access to the limited collection of ports assigned to that IP address. If you’re not on the WhiteList, you cannot even see the Issabel PBX from the Internet. For those without remote telephones or traveling employees, this provides total protection of your server with virtually no further firewall management.
If you have remote users of your PBX or if you wish to deploy softphones on mobile devices and rely upon WiFi facilities at random locations, Travelin’ Man 3 provides several utilities to assist. If the remote users have static IP addresses, then those IP addresses can be added to the WhiteList by running /root/add-ip. Better yet, a NeoRouter VPN is provided that lets remote users access Issabel using NeoRouter private LAN addresses that already are WhiteListed as part of the installation process. These require little to no configuration with static or dynamic IP addresses even when switching between WiFi networks. For those with dynamic IP addresses and no VPN, FQDNs can be assigned using a service such as dyn.com and a dynamic DNS client can be loaded on the smartphone to keep the current IP address synchronized with the FQDN. On the Incredible PBX side, these FQDNs can be added using /root/add-fqdn, and the IP addresses will be updated automatically every 10 minutes. The final option to provide remote users the 3-digit PortKnocker codes from knock.FAQ and let them automatically whitelist their own IP addresses by running the PortKnocker client from any smartphone or Linux server. When the Issabel server detects a successful knock sequence, the source IP of the knock sequence is whitelisted until the next reload of the firewall. If an administrator prefers to allow permanent additions to the WhiteList that survive a reboot or restart of the firewall, the administrator need only run the following command one time: iptables-knock activate. WhiteListed entries can be removed using the /root/del-acct utility. Further details on the new Travelin’ Man 3 design are available here.
We have modified the security methodology to access the AsteriDex and Reminders pages in the web GUI. We have added another layer of security by requiring Apache htaccess credentials before you can access these pages on your Issabel server. What this means is you will be prompted for Apache admin credentials when you attempt to access these pages. As the last step of the Incredible PBX installation procedure, you will be asked to specify your admin password again. This becomes your Apache admin password, and we recommend keeping it the same as your Issabel password so you don’t get confused. In this way, the username admin and the admin password will be used BOTH for Apache authentication AND Issabel GUI authentication. Should you ever need to change your Issabel admin password, run /root/admin-pw-change. You will need to execute the following command to change the Apache admin password: htpasswd -c /etc/pbx/wwwpasswd admin.
Overview of Issabel 4 Configuration Steps
Almost all PBXs employ a similar design to get calls flowing in and out of your PBX. Extensions are the hooks that let phones on your PBX make a connection to the PBX. Trunks are the hooks that connect your PBX to the outside world so that you can make and receive external calls. Inbound routes tell the PBX how to route incoming calls from the outside world. Outbound routes tell the PBX which trunk providers to use for various types of outgoing calls. And trunk providers are outside businesses that let you terminate calls to telephones all over the world. They also provide phone numbers (DIDs) to you so that the rest of the world has a way to call you.
Incredible PBX for Issabel makes configuring your PBX easy enough for a fifth grader. We’ve provided two extensions (501 and 502) to give you a simple way to connect your first two phones. We’ve also provided over a dozen sample trunk setups to make it easy to set up trunks once you’ve registered with one or more providers of your choice. If you choose to use our Platinum Sponsor, Skyetel, their trunk setup is already activated and whitelisted on the Issabel platform so all you’ll need to do is collect your $50 signup credit, enter the IP address of your PBX as a Skyetel EndPoint, pick a phone number for your PBX, and point that phone number to your PBX endpoint. On the Issabel side, simply create an Inbound Route for your Skyetel calls by specifying the 11-digit phone number to associate with the inbound route. Finally, we’ll revise the Default Outbound Route to send outgoing calls out through Skyetel.
Getting Started with a $50 Skyetel Credit
To take advantage of the Nerd Vittles specials, begin by completing the Prequalification Form here. You then will be provided a link to the Skyetel site to complete your registration. Once you have registered on the Skyetel site and your account has been activated, open a support ticket and request a $50 credit for your account by referencing the Nerd Vittles special offer. Credit is limited to one per person/company/address/location. If you want to take advantage of the 10% discount on your current service, open another ticket and attach a copy of your last month’s bill. See footnote 1 for the fine print.1 If you have high call volume requirements, document these in your Prequalification Form, and we will be in touch. More details here. Effective 10/1/2023, $25/month minimum spend required.
Skyetel Endpoint Group Configuration
Unlike many VoIP providers, Skyetel does not use SIP registrations to make connections to your PBX. Instead, Skyetel utilizes Endpoint Groups to identify which servers can communicate with the Skyetel service. An Endpoint Group consists of a Name, an IP address, a UDP or TCP port for the connection, and a numerical Priority for the group. For incoming calls destined to your PBX, DIDs are associated with an Endpoint Group to route the calls to your PBX. For outgoing calls from your PBX, a matching Endpoint Group is required to authorize outbound calls through the Skyetel network. Thus, the first step in configuring the Skyetel side for use with your PBX is to set up an Endpoint Group. A typical setup for use with Incredible PBX®, Asterisk®, or FreePBX® would look like the following:
- Name: Issabel
- Priority: 1
- IP Address: Issabel-Public-IP-Address
- Port: 5060
- Protocol: UDP
- Description: issabel.incrediblepbx.com
Skyetel DID Configuration
To receive incoming PSTN calls, you’ll need at least one DID. On the Skyetel site, you acquire DIDs under the Phone Numbers tab. You have the option of Porting in Existing Numbers (free for the first 60 days after you sign up for service) or purchasing new ones under the Buy Phone Numbers menu option.
Once you have acquired one or more DIDs, navigate to the Local Numbers or Toll Free Numbers tab and specify the desired SIP Format and Endpoint Group for each DID. Add SMS/MMS and E911 support, if desired. Call Forwarding and Failover are also supported. That completes the VoIP setup on the Skyetel side. System Status is always available here.
Incredible PBX Inbound Routing with Skyetel
Next we need to tell your PBX how to route incoming calls from Skyetel. Using a browser, log into the IP address of your PBX using your admin credentials. Because there is no trunk registration with Skyetel trunks, you will need to create an Inbound Route for every Skyetel DID. You cannot rely upon a Default inbound route because Issabel treats the calls as blocked anonymous calls without an Inbound Route pointing to the 11-digit number of each Skyetel DID. From the Issabel GUI, choose PBX -> PBX Configuration -> Inbound Routes -> Add Incoming Route. For both the Description and DID fields, enter the 11-digit phone number beginning with a 1. Set the Destination for the incoming DID as desired, e.g. IVR:IVR Demo. Click Submit. Reload the Dialplan when prompted. Place a test call to each of your DIDs from an external phone or cellphone after configuring the Inbound Routes.
Incredible PBX Outbound Routing to Skyetel
If Skyetel will be your primary provider, you can use both 10-digit and 11-digit dialing to process outbound calls through your Skyetel account. From the GUI, choose PBX -> PBX Configuration -> Outbound Routes -> Default. Scroll down to the Trunk Sequence section of the template. Choose these 3 trunks in this order: Skyetel-1, Skyetel-NW, and Skyetel-SE. Next, click Submit Changes and reload the dialplan when prompted.
Setting Up a Softphone with Issabel 4
If you’re a Mac user, you’re lucky (and smart). Download and install Telephone from the Mac App Store. Start up the application and choose Telephone:Preference:Accounts. Click on the + icon to add a new account. To set up your softphone, you need 3 pieces of information: the IP address of your server (Domain), and your Username and Password. You can decipher your server’s IP address by running pbxstatus. If you wish to use one of the preconfigured extensions (501 and 502), you’ll find the randomized passwords in /root/passwords.FAQ. Now copy or cut-and-paste your Username and Password into the Accounts dialog of the Telephone app. Click Done when you’re finished, and your new softphone will come to life and should show Available. Dial the IVR (D-E-M-O) to try things out. With Telephone, you can use over two dozen soft phones simultaneously.
For everyone else, we recommend the YateClient softphone which is free. Download it from here. Run YateClient once you’ve installed it and enter the credentials for the Issabel extension. You’ll need the IP address of your server plus your extension number and password associated with either the 501 or 502 extension.
Adding Speech Recognition Support to Incredible PBX
To support many of our applications, Incredible PBX has included Google’s speech recognition service. These applications include AsteriDex Voice Dialing by Name (411) and Wolfram Alpha for Asterisk (4747), all of which use Lefteris Zafiris’ terrific speech-recog AGI script. Unfortunately (for some), Google now has tightened up the terms of use for their free speech recognition service. Now you can only use it for "personal and development use." If you meet those criteria, keep reading. Here’s how to activate speech recognition on Incredible PBX. Don’t skip any steps!
If you like Siri, you’ll love Wolfram Alpha. To use Wolfram Alpha by phone, you first must obtain a free Wolfram Alpha APP-ID. Then issue the following command replacing APP-ID with your actual ID. Don’t change the yourID portion of the command:
sed -i "s|yourID|APP-ID|" /var/lib/asterisk/agi-bin/4747
Now you’re ready to try out the speech recognition apps. Dial 411 and say "American Airlines" to be connected to American.
To access Wolfram Alpha by phone, dial 4747 and enter your query, e.g. "What planes are overhead now?" Read the Nerd Vittles tutorial for additional examples and tips.
Implementing IBM TTS and Voice Recognition
While Google voice recognition originally was free, it has been a hit and miss platform for the last couple years. If you’re really serious about text-to-speech (TTS) and voice recognition (STT) quality, then you owe it to yourself to make the switch to the IBM platform. For most deployments, the IBM platform will be nearly free. Our recent tutorial will walk you through the process of getting your IBM credentials and setting up the TTS and STT functions with IBM Watson. Be advised that you will have two sets of credentials, one for TTS applications and another for STT applications. Once you have your credentials, here are the steps to reconfigure Issabel to use the IBM TTS and voice recognition services. Begin by logging into your server as root and switching to the /var/lib/asterisk/agi-bin directory. Then install the IBM components:
cd /var/lib/asterisk/agi-bin wget http://incrediblepbx.com/ibm-issabel.tar.gz tar zxvf ibm-issabel.tar.gz rm -f ibm-issabel.tar.gz mv custom/* /var/lib/asterisk/sounds/custom
Implementing IBM STT with Incredible PBX’s Voice Dialer. With this application, a user dials 411 and speaks the name of a person or company to call. The app searches for a match in the AsteriDex directory and places the call. To get started, edit getnumber.sh and insert your IBM STT credentials in the API_USERNAME and API_PASSWORD fields. Then save the file. Replace the Call by Name context by running the following script: ./install-ibm411.sh. Place a test call by dialing 411 and saying "American Airlines."
Implementing IBM STT with Incredible PBX’s SMS Dictator. With this application, a user dials 767, enters the 10-digit number for the recipient of an SMS text message, and then speaks the message to be sent. To get started, edit smsgen.sh and insert your IBM STT and Google Voice credentials using your plain-text Google password. Then save the file. Replace the SMS Dictator context by running the following script: ./install-sms767-dialplan.sh. Place a test call to 767, and the app will send your text message to the recipient’s phone number using the gvoice application. If you experience failed calls, try executing the Unlock Captcha procedure using your Google Voice credentials. Then try again.
Implementing IBM STT with Incredible PBX’s Wolfram Alpha. With this Siri-like app, a user dials 4747 and speaks a query to be sent to Wolfram Alpha for processing. The results then are played back to the caller. To begin, edit wolfram.sh and insert your IBM STT credentials as well as your Wolfram Alpha APPID. Then save the file. Replace the Wolfram Alpha dialplan code by running the following script: ./install-wolfram4747-dialplan.sh. Place a test call by dialing 4747. When prompted for your query, say "What planes are flying overhead now?"
Implementing IBM TTS with Incredible PBX’s News and Weather Apps. With these apps, a user dials 951 for the latest News Headlines from Yahoo or 947 to retrieve the latest weather report by ZIP code. To begin, edit ibmtts.php and insert your IBM TTS credentials in the IBM_username and IBM_password fields. Then save the file. Replace the news and weather by zip code contexts by running the following script: ./install-ibmtts-dialplan.sh.
Generating IBM Voice Prompts to Use with Issabel. We’ve included a script that will let you generate IBM voice prompts that are suitable for use with Issabel and Incredible PBX. To begin, edit ibmprompt.php and insert your IBM TTS credentials in the IBM_username and IBM_password fields. Then save the file. Next, we need to add MP3 support to the SOX application before we can create voice prompts reliably with IBM’s Bluemix TTS service. Here’s how:
yum -y remove sox yum -y install libmad libmad-devel libid3tag libid3tag-devel lame lame-devel flac-devel cd /usr/src wget https://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2.tar.gz tar zxvf sox-14.4.2.tar.gz rm -f sox-14.4.2.tar.gz cd sox* ./configure make -s make install ldconfig ln -s /usr/local/bin/sox /usr/bin/sox
Generate voice prompts using the following syntax: ./ibmprompt.php "Hello world."
Configuring the Issabel Fax Server
Incredible PBX for Issabel includes turnkey fax support with Issabel. Once you have added a trunk that supports VoIP faxing (HINT: Skyetel trunks work great!), fax configuration with Issabel only takes a minute. Start by logging into the Issabel web interface as admin. First, navigate to PBX:PBX Configuration:Extensions:Fax and obtain your password for extension 329. Next, navigate to Fax:Virtual Fax:New Virtual Fax. Fill in the form as shown below using your actual email address and phone number for receiving faxes as well as your actual extension 329 secret. Then click SAVE. Assuming you typed your secret correctly, you will see a status notification showing virtual fax machine "Running and idle on ttyIAX1."
Assuming you already have set up a Skyetel trunk as outlined above, the next step is to modify the Inbound Route for this trunk to support fax detection. In that way, incoming fax calls will automatically be redirected to extension 329 and the received faxes will be emailed to you in PDF format. Set the email address in Fax:Fax Master. In addition, the faxes can be downloaded and managed from Fax:Virtual Fax:Fax Viewer. Modify your Inbound Route to match the #3 settings shown below. Then save/reload your changes.
To receive the incoming faxes by email, navigate to Fax:Fax Master and enter your email address. Then click SAVE.
The final step is to designate the IP addresses of those authorized to send faxes using Issabel. Navigate to Fax:Fax Clients and specify the public and private IP addresses (one per line) authorized to send faxes. Then click SAVE. Hylafax clients can be used remotely, or you can use the web utility included with Issabel: Fax:Virtual Fax:Send Fax.
The best way to test things out is to send yourself a test fax. FaxZERO lets you send 5 free faxes of up to 3 pages every day. Give it a whirl.
To send a fax out from your server from the Linux CLI using either a text document or PDF file, the syntax looks like the following:
sendfax -n -d 8005551212 smsmsg.txt
Replacing MeetMe Conferencing with ConfBridge
The only serious limitation we’ve found with the Issabel implementation of FreePBX is the continued reliance upon MeetMe for conferencing which requires a timing source unlike the newer ConfBridge module. Particularly on OpenVZ VPS platforms, this causes issues because of the inability to directly access the kernel. Fortunately, Issabel has included the functioning ConfBridge module in their implementation so the workaround is fairly simple. By default, we’ve included a 2663 (C-O-N-F) conference setup in the Issabel GUI configuration so simply remove it. Then add a 2663 Misc Destination with a description of CONF. Finally, while still in the GUI, edit the IVR Demo and change the destination for option 2 to Misc Destination:CONF and save the file. Next, log into the Linux CLI as root and change to the /etc/asterisk directory. Edit confbridge_custom.conf and insert the following code. Then save the file.
[general] ;This section reserved for future use [default_user] type = user quiet = no announce_user_count = yes announce_user_count_all = yes wait_marked = no end_marked = no dsp_drop_silence = yes announce_join_leave = yes admin = no marked = no startmuted = no music_on_hold_when_empty = yes [admin] type = user quiet = no announce_user_count = yes announce_user_count_all = yes wait_marked = no end_marked = no dsp_drop_silence = yes announce_join_leave = yes admin = yes marked = no startmuted = no music_on_hold_when_empty = yes [default_bridge] type = bridge record_conference = no sound_only_person = conf-onlyperson sound_has_joined = conf-hasjoin sound_has_left = conf-hasleft sound_kicked = conf-kicked sound_muted = conf-muted sound_unmuted = conf-unmuted sound_there_are = conf-thereare sound_other_in_party = conf-otherinparty sound_place_into_conference = conf-placeintoconf sound_wait_for_leader = conf-waitforleader sound_get_pin = conf-getpin sound_invalid_pin = conf-invalidpin sound_locked = conf-locked sound_unlocked_now = conf-unlockednow sound_lockednow = conf-lockednow sound_error_menu = conf-errormenu [admin_menu] type = menu * = playback_and_continue(conf-adminmenu) *1 = toggle_mute *2 = admin_toggle_conference_lock *3 = admin_kick_last *4 = decrease_listening_volume *5 = reset_listening_volume *6 = increase_listening_volume *7 = decrease_talking_volume *8 = reset_talking_volume *9 = increase_talking_volume *# = leave_conference *0 = admin_toggle_mute_participants [user_menu] type = menu * = playback_and_continue(conf-usermenu) *1 = toggle_mute *4 = decrease_listening_volume *5 = reset_listening_volume *6 = increase_listening_volume *7 = decrease_talking_volume *8 = no_op *9 = increase_talking_volume *# = leave_conference
Now edit extensions_custom.conf and insert the following code below the [from-internal-custom] label replacing the 1234 and 4321 PINs in lines 6 and 7 with user and admin PINs of your choice (up to 8 numbers each). Then restart Asterisk: amportal restart
.
;# // BEGIN Conf1 exten => 2663,1,Answer exten => 2663,2,Wait(1) exten => 2663,3,Playback(conf-getpin) exten => 2663,4,Read(MYPIN,beep,8) exten => 2663,5,GotoIf($["${MYPIN}" = "1234"]?userpin) exten => 2663,6,GotoIf($["${MYPIN}" = "4321"]?adminpin) exten => 2663,7,Playback(goodbye) exten => 2663,8,Hangup exten => 2663,n(adminpin),Set(CONFBRIDGE(user,template)=admin) exten => 2663,n,ConfBridge(1) exten => 2663,n,Hangup exten => 2663,n(userpin),Set(CONFBRIDGE(user,template)=default_user) exten => 2663,n,ConfBridge(1) exten => 2663,n,Hangup ;# // END Conf1
Backup and Restore with Issabel
Issabel ships with the most full-featured Backup and Restore options of any of the Asterisk distributions. Ask us how we know. Yes, we managed to wipe out the entire Dashboard menu system on one of our early builds. Restoring from an image took only a couple minutes. To get started, navigate to System -> Backup/Restore. You can create backups locally and then drag and drop them onto a remote FTP server if desired. There is enormous flexibility in choosing what to backup or restore. And there’s even an option to automatically generate periodic backups. You’ll find your backups in /var/www/backup should you ever need to copy them to a new server. Now would be a good time to create your first backup. 🙂
Sampling Other Incredible PBX Applications
As installed, Incredible PBX includes dozens of additional applications for Asterisk. Here’s how to sample some of them using a softphone connected to your Issabel PBX. A good place to start is Allison’s Demo IVR (dial D-E-M-O) using any phone connected to your PBX:
Nerd Vittles Demo IVR Options
1 – 411 -Call by Name (say "American Airlines")
2 – 2663 – MeetMe/ConfBridge Conference
3 – 4747 – Wolfram Alpha
4 – 53669 – Lenny (The Telemarketer’s Worst Nightmare)
5 – 951 – Today’s News Headlines
6 – 947 – Weather Forecast (enter a 5-digit ZIP code)
7 – 86329 – Today in History
8 – 501 – Speak to a Real Person
For ODBC demos, dial 222 and enter 12345 for the employee number for a sample database application. Or dial 223 for a sample ODBC dialer using AsteriDex. Enter 263 (first three letters of American Airlines) to place the call. Sample dialplan code is stored in /etc/asterisk/odbc.conf. Dial L-E-N-N-Y (53669) to call or forward telemarketer calls to Lenny. Dial T-I-M-E (8463) for Time of Day. Dial *88HHMM to set an Alarm for HH:MM where HH is the hour of the day in military time. Dial C-O-N-F (2663) for MeetMe conference. Conference credentials are in /root/passwords.FAQ. Voice Dialer (411) works with any database entry in AsteriDex. Access AsteriDex with a browser at https://Issabel-IP-Address/asteridex4. Telephone Reminders can be scheduled by phone (123) or via the web: https://Issabel-IP-Address/reminders. Sample code for the FLITE, GoogleTTS, and PicoTTS engines is in 951 (Yahoo News) context of /etc/asterisk/extensions_custom.conf. All of your FreePBX "old favorites" including blacklists, call transfers and forwarding, dictation, recordings and more are still available as well: PBX:PBX Config:Feature Codes.
Continue Reading: Configuring Extensions, Trunks & Routes.
Don’t Miss: Incredible PBX Application User’s Guide covering the 31 Incredible PBX apps.
Published: Friday, October 5, 2018 Updated: Friday, February 1, 2019
Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a difficult place to address support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forum. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, the PIAF Forum is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won’t have to wait long for an answer to your question.
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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
- In the unlikely event that Skyetel cannot provide a 10% reduction in your current origination rate and/or DID costs, Skyetel will give you an additional $50 credit to use with the Skyetel service. [↩]
Introducing Skyetel: A VoIP Provider for All Seasons
Having been around the block more times than we can remember, suffice it to say it takes a lot to get us excited about a VoIP provider. Let us tick off some criteria to even get our attention: terrific pricing, failsafe reliability, and first class performance. So just imagine our excitement to discover that an early follower of Nerd Vittles now provides one of the most compelling VoIP services we’ve ever tested with triple redundancy in multiple data centers. And Skyetel now has added what, for some, was the most important piece: support for VoIP servers with dynamic IP addresses. While it’s still beta code, it’s easy to use and reliable. There’s yet another hidden benefit. Incredible PBX coupled with Skyetel makes a perfect platform for redundant servers. We’ll cover it in a future article, but here’s the basic design.
Let’s sweeten the pot a bit more. We were looking for a service provider that could offer a compelling price for the hobbyist and home user while also having the depth to provide millions of minutes to organizations and resellers that actually have such a need. Skyetel now offers Nerd Vittles readers two special offers. First, you can claim a $10 credit for your new account simply by opening a ticket once you sign up. Once you have kicked the tires and are satisfied with the service, you won’t want to miss the Nerd Vittles BOGO offer. Skyetel will match your original deposit up to $250. Deposit $50 and Skyetel will double it. Or plan ahead with a $250 deposit and Skyetel will still double it. That translates into $500 of half-price VoIP service! Once you have funded your account with your money, Skyetel will provide free porting of your DIDs for the first 60 days after you open your account plus a 10% reduction in your current origination rate and DID costs by presenting your last month’s bill.1 Effective 10/1/2023, $25/month minimum spend required. For resellers and high volume users, document your requirements on your Nerd Vittles signup form and let us put you in touch with someone at Skyetel that will make you a deal you can’t refuse. And what does Nerd Vittles get out of this? Glad you asked. We’re delighted to have Skyetel as a platinum sponsor to keep the lights burning and the deals flowing for another decade of articles and open source offerings for our dedicated followers.
Original Skyetel Deposit | Skyetel Deposit Match | Available SIP Service $'s |
---|---|---|
$20 | $20 | $40 |
$50 | $50 | $100 |
$100 | $100 | $200 |
$200 | $200 | $400 |
$250 | $250 | $500 |
We want to also address the elephant in the room. Some have asked about our relationship with Vitelity, a long time sponsor of Nerd Vittles and our open source projects. They’re alive and well. However, the company has gone through several acquisitions in the past few years, and their focus now has shifted more to the reseller and wholesale market. ALL EXISTING VITELITY CUSTOMERS ARE UNAFFECTED BY THIS CHANGE IN DIRECTION. And we are more than happy to put new resellers and wholesalers in touch with someone at Vitelity that can address your requirements. The good news is that you’ll now have two companies to compare while new home users and small businesses have a viable alternative moving forward.
Skyetel’s State-of-the-Art Network Design
Because Skyetel’s system architecture is radically different from most other VoIP providers, we wanted to spend a minute documenting their setup. Typically, a VoIP provider may offer a failover server in case their primary server fails. But all calls flow through the primary server unless there is a system failure. As we noted previously, Skyetel’s current setup includes three redundant data centers, all of which receive incoming calls while being firewalled from each other. Once you place or receive a call from the Skyetel network, their data center is completely removed from the audio path of the call which flows directly between your server and the outside party. Thus, even if the data center experienced a total system failure in the middle of your call, neither you nor the other party would ever know it. This design also eliminates the potential of a man-in-the-middle attack from your VoIP provider’s server.
Skyetel Pricing Overview
This summary is not intended to be an exhaustive listing of all Skyetel services. Follow this link for a complete summary of fees and services. Traditional DIDs are $1 per month. Toll free numbers an additional 20¢ per month. Outbound conversational calls are $0.012 per minute. DIDs can be SMS/MMS enabled for 10¢ per month. E911 service is $1.50 per month. Incoming conversational calls are a penny a minute. CallerID lookups are $0.004 per call. Voicemail transcription is available for 10¢ per message.
Signing Up for Skyetel Service
So here’s the drill to sign up for Skyetel service and take advantage of the Nerd Vittles specials. First, complete the Prequalification Form here. You then will be provided a link to the Skyetel site to complete your registration. Once you have registered on the Skyetel site and your account has been activated, open a support ticket and request your free $10 credit to kick the tires. You cannot port in numbers at no cost until you actually fund your account out of your own pocket. Once you have funded your account, open another ticket for the BOGO credit for your account by referencing the Nerd Vittles special offer. You then can initiate your free number porting requests on the portal and request a credit for the porting fees. BOGO credit is limited to one per person/company/address/location. If you want to take advantage of the 10% discount on your current service, attach a copy of your last month’s bill. See footnote 1 for the fine print. If you have high call volume requirements, document these in your Prequalification Form, and we will be in touch. Easy Peasy!
For those that may be concerned that one day, after your credit expires, you could be paying a penny a minute for phone calls, let me provide a little Ma Bell history lesson for you. When my roommate and I were in law school, our typical phone bill often exceeded $200 a month because we both had girlfriends a couple hundred miles up the road. In today’s dollars, that phone bill translates into roughly $1,200 a month. That would have been 120,000 minutes a month at a penny a minute in today’s dollars. So, yes, VoIP is having a profound influence on the AT&T and Verizon Bell Sisters.
Skyetel Endpoint Group Configuration
Unlike many VoIP providers, Skyetel does not use SIP registrations to make connections to your PBX. Instead, Skyetel utilizes Endpoint Groups to identify which servers can communicate with the Skyetel service. An Endpoint Group consists of a Name, an IP address, a UDP or TCP port for the connection, and a numerical Priority for the group. For incoming calls destined to your PBX, DIDs are associated with an Endpoint Group to route the calls to your PBX. For outgoing calls from your PBX, a matching Endpoint Group is required to authorize outbound calls through the Skyetel network. Thus, the first step in configuring the Skyetel side for use with your PBX is to set up an Endpoint Group. A typical setup for use with Incredible PBX®, Asterisk®, or FreePBX® would look like the following:
- Name: MyPBX
- Priority: 1
- IP Address: PBX-Public-IP-Address
- Port: 5060
- Protocol: UDP
- Description: server1.incrediblepbx.com
Skyetel DID Configuration
To receive incoming PSTN calls, you’ll need at least one DID. On the Skyetel site, you acquire DIDs under the Phone Numbers tab. You have the option of Porting in Existing Numbers (free for the first 60 days after you sign up for service) or purchasing new ones under the Buy Phone Numbers menu option.
Once you have acquired one or more DIDs, navigate to the Local Numbers or Toll Free Numbers tab and specify the desired SIP Format and Endpoint Group for each DID. Add SMS/MMS and E911 support, if desired. Call Forwarding and Failover are also supported. That completes the VoIP setup on the Skyetel side. System Status is always available here.
Incredible PBX Firewall Setup for Skyetel
The Travelin’ Man 3 firewall included with all Incredible PBX platforms limits access to your server based upon whitelisted IP addresses of outside providers and users. In order to receive calls from the multiple Skyetel data centers, the following entries need to be included in the whitelist of your PBX. For new installs of Incredible PBX 13-13 for CentOS, the entries already are included. Otherwise, issue the following commands from the Linux CLI and choose the 0 option using the add-ip utility in /root:
- /root/add-ip Skyetel-NW 52.41.52.34
- /root/add-ip Skyetel-SW 52.8.201.128
- /root/add-ip Skyetel-NE 52.60.138.31
- /root/add-ip Skyetel-SE 50.17.48.216
- /root/add-ip Skyetel-EU 35.156.192.164
NOTE: If your PBX is sitting behind a NAT-based router, then you will also need to forward UDP port 5060 from your router to the internal IP address of your PBX. Otherwise, incoming calls from Skyetel will fail. You also may need to add a NAT=yes entry to each of the Skyetel trunk configurations using the GUI. The telltale sign that the NAT entry is required will be incoming calls with one-way or no audio.
Incredible PBX Trunk Setups for Skyetel
Because Skyetel uses multiple data centers without trunk registrations, you’ll actually need to configure 6 separate Skyetel trunks in the Incredible PBX GUI. The same setup applies for those using generic FreePBX aggregations. We’ve created a script to create all of the trunks for you. Just issue the following commands. The last command assures that you don’t accidentally run the script a second time which would cause all sorts of issues. Feel free to review the code if you want to learn how to create trunks in FreePBX from the command line.
cd /root wget http://incrediblepbx.com/add-skyetel chmod +x add-skyetel # uncomment next line if your incoming calls all have 10-digit numbers # sed -i 's|from-trunk|from-pstn-e164-us|' add-skyetel ./add-skyetel chmod -x add-skyetel
Incredible PBX Inbound Routing for Skyetel
Next we need to tell your PBX how to route incoming calls from Skyetel. Using a browser, log into the IP address of your PBX using your admin credentials. Because there is no trunk registration with Skyetel trunks, you will need to create an Inbound Route for every Skyetel DID. You cannot rely upon a Default inbound route because FreePBX treats the calls as blocked anonymous calls without an Inbound Route pointing to the 11-digit number of each Skyetel DID. From the GUI, choose Connectivity -> Inbound Routes -> Add Inbound Route. For both the Description and DID fields, enter the 11-digit phone number beginning with a 1. Set the Destination for the incoming DID as desired and click Submit. Reload the Dialplan when prompted. Place a test call to each of your DIDs after configuring the Inbound Routes.
Incredible PBX Outbound Routing to Skyetel
If Skyetel will be your primary provider, you can use both 10-digit and 11-digit dialing to process outbound calls through your Skyetel account. From the GUI, choose Connectivity -> Outbound Routes -> Add Outbound Route. For the setup, we recommend the following using the CallerID Number you wish to associate with your outbound calls through Skyetel:
Enter the Dial Patterns under the Dial Patterns tab before saving your outbound route. Here’s what you would enter for 10-digit and 11-digit dialing. If you want to require a dialing prefix to use the Skyetel Outbound Route, enter it in the Prefix field for both dial strings.
Audio Issues with Skyetel
If you experience one-way or no audio on some calls, make sure you have filled in the NAT Settings section in the GUI under Settings -> Asterisk SIP Settings -> General. In addition to adding your external and internal IP addresses there, be sure to add your external IP address in /etc/asterisk/sip_general_custom.conf like the following example and restart Asterisk:
externip=xxx.xxx.xxx.xxx
If you’re using PJSIP trunks or extensions on your PBX, implement this fix as well.
Receiving SMS Messages Through Skyetel
Most Skyetel DIDs support SMS messaging. Once you have purchased one or more DIDs, you can edit each number and, under the SMS &MMS tab, you can redirect incoming SMS messages to an email or SMS destination of your choice using the following example:
Sending SMS Messages Through Skyetel
We’ve created a simple script that will let you send SMS messages from the Linux CLI using your Skyetel DIDs. In order to send SMS messages, you first will need to create a SID key and password in the Skyetel portal. From the Settings icon, choose API Keys -> Create. Once the credentials appear, copy both your SID and Password. Then click SAVE.
Next, from the Linux CLI, issue the following commands to download the sms-skyetel script into in your /root folder. Then edit the file and insert your SID, secret, and DID credentials in the fields at the top of the script. Save the file, and you’re all set.
cd /root wget http://incrediblepbx.com/sms-skyetel chmod +x sms-skyetel nano -w sms-skyetel
To send an SMS message, use the following syntax where 18005551212 is the 11-digit SMS destination: sms-skyetel 18005551212 "Some message"
SMS and MMS Messaging with Postcards
Skyetel now has released a terrific, open source Docker app, Postcards, that lets you build an SMS and MMS messaging platform for your entire organization. Suffice it to say, anything you ever wanted to do with SMS and MMS messaging, you can do with Postcards. We won’t repeat Skyetel’s excellent tutorial, but you certainly need to visit their site and take Postcards for a spin.
NEW: Skyetel Support for Dynamic IP Addresses
You asked for it, and Skyetel has delivered. For Nerd Vittles users running servers with dynamic IP addresses, Skyetel now provides support for your platform. Log into your server as root and cd /usr/src
. Then review this tutorial which describes the steps to put the pieces in place. Be advised that this is beta software at this juncture. If you run into issues, please post your questions on the PIAF Forum. Here are the actual steps:
(1) Log in to your Skyetel portal and Add a New Endpoint Group for your server giving it the name and current public IP address of your server.
(2) While still logged in, tap the Gear icon to open Settings dialog and choose API Keys tab.
(3) Add a new API key and write down your new SID and SID password.
(4) If your server is behind a router or firewall, log into that device and map UDP 5060 and UDP 10000-20000 to the private LAN address of your server.
NOTE: If your server is on the Debian, Ubuntu, or Raspbian platform, substitute the following command for the first two yum commands in step #5 below:
apt-get -y install coreutils curl git jq
(5) Log into your server and issue the following commands to install the EndPoint Updater:
yum -y install coreutils curl git epel-release yum -y --enablerepo=epel install jq cd /usr/src git clone https://bitbucket.org/skyetel/ip-endpoint-group-update.git cd ip-endpoint-group-update ./ip-update-endpointgroup.sh
(6) Fill in your credentials when prompted, and the cron script will be installed to keep your server’s dynamic IP address registered with Skyetel.
Introducing Skyetel’s New Fax Platform
Every time we read an article predicting the demise of fax technology, we have to chuckle. We’ve been reading the articles for about 30 years now, and fax still is the goto solution for many organizations. Can you spell HIPPA? Finally, Skyetel has dipped its toes in the fax waters by offering an easy-to-use fax solution for receipt of traditional and T.38 faxes. Simply purchase a Skyetel DID and configure it for vFax routing. Enter an email address for delivery of the faxes, and you’re done.
Sending faxes from the Skyetel portal still is on the drawing boards, but it’s coming. In the meantime, Incredible Fax™ which is bundled with all Incredible PBX® platforms will let you send faxes ’til the cows come home with our easy-to-use Hylafax/AvantFax implementation.
Implementing the New Spam Call Filter
One of the most often requested features for any PBX is spam call filtering. Skyetel takes it to the next level by dealing with the spammers before the calls ever reach your PBX. For each of your Skyetel phone numbers, click on the Features tab and set the Spam Call Filter as desired.
Recording and Transcribing Skyetel Calls
As with spam call filtering, recording and/or transcribing Skyetel calls is only a click away. For each of your Skyetel phone numbers, click on the Features tab and set the option desired for Recording and/or Transcribing calls. Recordings and Transcriptions can be managed from your Skyetel Dashboard. Storage is free for up to 30 days, after which they are deleted.
Skyetel Monitoring of Endpoint Health
In addition to monitoring and reporting the health of all Skyetel services in your web portal, this latest addition allows you to configure Skyetel to not only monitor the State of every registered endpoint but also its Health with realtime metrics of the Latency, Packet Loss, and Jitter of each of your endpoints. Simply check the Network QOS options desired.
Skyetel Expansion for Canadian Users
Here’s some great news for our Canadian friends. Skyetel has been listening!
- Porting to Skyetel in Canada now is significantly easier and faster
- Awesome reductions in audio round trip times
- Epic reductions in time-to-deliver
- Faster response times to technical issues (and fewer of them!)
- Audio for Canadian calls will now originate from Canadian data centers
- SMS and MMS available on Canadian ported numbers
Originally published: Thursday, November 1, 2018 Updated: Wednesday, June 12, 2019
Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a difficult place to address support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forum. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, the PIAF Forum is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won’t have to wait long for an answer to your question.
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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
- In the unlikely event that Skyetel cannot provide a 10% reduction in your current origination rate and/or DID costs, Skyetel will give you an additional $50 credit to use with the Skyetel service. [↩]
R.I.P. GVSIP: A Final Farewell to Google Voice
It’s been a death by a thousand cuts, but today marks the end of the Google Voice era with Asterisk®. Since Google removed XMPP support and transitioned to their new GVSIP platform, many have held out hope that Google hadn’t moved to a purely commercial platform with their ObiHai deal. Yesterday, the head of the Google Voice project requested that all Asterisk GVSIP implementations be discontinued citing Google’s Terms of Service. We hinted this was coming back in July and have reproduced our tweet below. We have since removed all of our articles pertaining to GVSIP, and we would encourage all of our readers to honor Google’s wishes and move on. We’ve made it easy with a $50 gift certificate from Skyetel (expires March 31, 2019). It will buy you many months of free VoIP service.
You still have several options with your Google Voice trunks. First, you can forward all incoming calls to Google Voice to another phone or DID of your choosing. This costs you nothing other than a minute to set it up. Second, you can port out your Google Voice number to another provider. Skyetel will cover your porting expense at their end during your first 60 days of service. Google charges $3 to port out your number unless you originally ported it into Google in which case it is free. Here’s how. Although we’re not big fans, a third option is to purchase an OBi200 device and continue to use your Google Voice trunk with Asterisk. Our tutorial from last May will show you how. Effective 10/1/2023, $25/month minimum spend at Skyetel is required.
As we’ve mentioned often, the beauty of VoIP is not having to put all of your telephony eggs in a single basket. Google’s latest move reinforces how important it actually is to configure several VoIP trunks on your server. While Skyetel and Vitelity are both excellent primary trunks and rarely experience an outage, it’s still a good idea to have a backup. VoIP.ms (free iNUM), CircleNet, CallCentric ($1/mo. DID and iNUM), LocalPhone (25¢/mo. iNUM), Future-Nine, AnveoDirect, and V1VoIP are excellent options. Most don’t cost you anything unless you make calls. Review our complete SIP tutorial here: Developing a Cost-Effective SIP Strategy.
Dale Carnegie Award: ObiHai Man of the Year
Originally published: Friday, November 16, 2018
Need help with Asterisk? Join our new MeWe Support Site.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Free Asterisk Voicemail Transcription with IBM Watson STT
There are many commercial voicemail transcription services for Asterisk® PBXs, but none hold a candle to the speech-to-text (STT) quality of the IBM Cloud offering known as Watson® STT, formerly known as Bluemix TTS. Despite a recent price increase that takes effect in December, the pricing remains competitive. On the Standard Pricing Plan, voicemail transcription is 2¢ per minute. Or you can try things out on the LITE plan which offers 100 minutes a month at no cost. When the messages are delivered by email, you get the voicemail recording in MP3 format AND transcribed text courtesy of Watson TTS. With IBM services, there no longer are username:password credentials. Instead, you will have a new apikey.
Those with existing configurations can update your credentials by inserting a new apikey using the following commands, or you can simply insert apikey as your $API_USERNAME and enter your actual APIkey as your $API_PASSWORD.
cd /usr/local/sbin sed -i 's|$API_USERNAME:$API_PASSWORD|"apikey:x-yy-zzz"|' sendmailmp3 sed -i 's|$API_USERNAME:$API_PASSWORD|"apikey:x-yy-zzz"|' bluemix-test
IBM Cloud’s STT solution is a real game-changer for one simple reason. Their STT API performs more accurately than any speech recognition engine in the world. As an added bonus, you won’t have to worry about Google breaking our middleware every month. It’s worth noting that IBM doesn’t round up minutes. Transcribing two 30-second messages counts as one minute.
https://youtu.be/JWnLgZ58zsw
Overview. What we’ve done today is integrate the Watson STT API directly into existing Asterisk voicemail systems. We started with Nicolas Bernaerts’ terrific sendmailmp3 script. It works on both the Wazo and FreePBX® platforms. If you have deployed Incredible PBX®, then the setup takes a couple of minutes. For everyone else, there’s an additional configuration step using your favorite GUI. To get started, you’ll sign up for an IBM Cloud account and obtain your credentials. Next, you download today’s script for your platform and insert your credentials. Finally, you set up voicemail on the extensions desired and insert an email address for each voicemail account. On generic FreePBX systems, you’ll need to add the name of our script to manage your voicemail recordings. And, regardless of your PBX platform, you obviously need outgoing SMTP email working reliably.
Start by sending yourself a test email and get that working first:
echo "test" | mail -s testmessage yourname@your-email-domain.com
What About the Quality? Here’s the bottom line. Speech recognition isn’t all that useful if it fails miserably in recognizing everyday speech. The good news is that IBM Watson’s speech recognition engine is now the best in the business. If you want more details, read the article below which will walk you through IBM’s latest speech recognition breakthrough:
Why IBM's speech recognition breakthrough matters for AI and IoT. Via @techrepublic https://t.co/AJi8MA3E20
— IBM Developer (@IBMDeveloper) March 15, 2017
Obtaining IBM Cloud Speech to Text Credentials
Follow this link to set up your IBM account and obtain credentials for both Speech to Text (STT) and Text to Speech (TTS) services. Please note that your STT and TTS API keys will NOT be the same. So don’t accidentally use the wrong one.
Installing STT Engine with Incredible PBX for Wazo
1. After logging into your Incredible PBX for Wazo server as root using SSH/Putty:
cd /usr/sbin wget http://incrediblepbx.com/sendmailibm.tar.gz tar zxvf sendmailibm.tar.gz rm -f sendmailibm.tar.gz
2. Edit sendmailibm and insert IBM STT API_KEY and URL.
3. Edit bluemix-test and insert IBM STT API_KEY and URL.
4. Apply the patch documented above if using LITE plan using sendmail filename instead of sendmailmp3.
5. Copy the updated sendmailibm file to sendmail:
cd /usr/sbin cp -p sendmailibm sendmail
6. Test your Bluemix STT setup: bluemix-test
7. Result should be: please record your message after the beep
8. Set up voicemail account for a Wazo extension with your email address.
9. Place a test call to the extension and record a voicemail when prompted.
10. Your message will be transcribed and delivered via email.
Installing STT Engine with Incredible PBX for RasPi
1. After logging into your Raspberry Pi server as root using SSH/Putty:
cd /usr/sbin wget http://incrediblepbx.com/sendmailibm-raspi.tar.gz tar zxvf sendmailibm-raspi.tar.gz rm -f sendmailibm-raspi.tar.gz
2. Edit sendmailmp3.ibm and insert your Bluemix STT API_KEY and URL. Save file.
3. Edit bluemix-test and insert your Bluemix STT API_KEY and URL. Save the file.
4. Copy the updated sendmailmp3.ibm file to sendmailmp3:
cd /usr/sbin cp -p sendmailmp3.ibm sendmailmp3
5. Apply the patch documented above if using LITE plan.
6. Test your Bluemix STT setup: bluemix-test
7. Result should be: your dictation is now being processed and emailed please wait
8. Set up voicemail for a RasPi extension with your email address.
9. Place a test call to the extension and record a voicemail when prompted.
10. Your message will be transcribed and delivered via email.
Installing STT Engine with Incredible PBX 13-13
1. After logging into your Incredible PBX 13 server as root using SSH/Putty:
cd /usr/local/sbin wget http://incrediblepbx.com/sendmailibm-13.tar.gz tar zxvf sendmailibm-13.tar.gz rm -f sendmailibm-13.tar.gz
2. Edit sendmailmp3.ibm and insert your IBM STT API_KEY and URL. Save file.
3. Edit bluemix-test and insert your IBM STT API_KEY and URL. Save the file.
4. Copy the updated sendmailmp3.ibm file to sendmailmp3:
cd /usr/local/sbin cp -p sendmailmp3.ibm sendmailmp3
5. Test your Bluemix STT setup: bluemix-test
6. Result should be: we are now transferring you out of the company directory…
7. Set up voicemail for an extension and include your email address.
8. Place a test call to the extension and record a voicemail when prompted.
9. Your message will be transcribed and delivered via email.
Installing STT Engine with VitalPBX
For those using VitalPBX with or without Incredible PBX, we’ve written a new tutorial to walk you through the procedure to get voicemail transcription with IBM Watson STT up and running. Here’s the link.
Installing STT Engine with Legacy FreePBX Servers
1. Follow steps #1 through #8 from the Incredible PBX 13 tutorial above.
2. Choose Settings -> Voicemail Admin -> Settings in the GUI.
3. In the format field, insert: wav|wav49
4. In the mailcmd field, insert: /usr/local/sbin/sendmailmp3
5. Click Submit to save your settings and then Reload the FreePBX Dialplan.
6. Place a test call to the extension and record a voicemail when prompted.
7. Your message will be transcribed and delivered via email.
Update: Matt Darnell reports that, depending upon your existing setup, you may need to add the unix2dos and lame packages with legacy FreePBX servers to get MP3 messages delivered correctly.
Originally published: Monday, March 12, 2018 Updated: Monday, November 12, 2018
Got Friends? 7 Countries Have Never Visited Nerd Vittles. 2018 Is Calling! https://t.co/wMfmlhAr16 #asterisk #freepbx #wazo #issabel #IncrediblePBX #3CX pic.twitter.com/kAmAEnwVIw
— Ward Mundy (@NerdUno) January 9, 2018
Need help with Asterisk? Visit the PBX in a Flash Forum.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Some Recent Nerd Vittles Articles of Interest…
VoIP 101: Developing a Cost-Effective SIP Strategy
In the lead up to the demise of Google Voice XMPP service next week, we wanted to offer what we have found to be a cost-effective SIP strategy which takes advantage of the best of all worlds. We would divide SIP offerings into five broad categories: business-class unlimited SIP trunks, Old Faithful SIP providers, Mom-and-Pop SIP services, dirt-cheap termination services, and Gee Whiz SIP providers. As we have said many times, the beauty of setting up an Asterisk® PBX such as Incredible PBX® is you don’t have to put all your VoIP eggs in one basket. In our particular case, that has included a mix of Google Voice trunks plus all five of the SIP categories above. Today we want to document why we’ve personally made the selections we’ve made and hope that it provides a roadmap for your own VoIP setup while encouraging you to venture out of your safe zone and try some new VoIP options.
The all-you-can-eat business plans, which we previously have covered, make little sense for most home and small business users. Then there are the rock-solid, long term pay-as-you-go providers such as Vitelity and CallCentric that make perfect sense as your primary DID and SIP provider. While they may not always be the cheapest VoIP providers, the tradeoff is dependability and long-term reliability for your VoIP platform. In the case of Vitelity, it turns out the Nerd Vittles DID special (detailed below) from our Platinum Sponsor is perhaps one of the best VoIP deals on the planet.
The third category of SIP providers and our personal favorite is what we would call the mom-and-pop providers. These are typically one or two-person operations that offer incredible deals on all-you-can-eat VoIP plans for home users. Included in this category are Vestalink (available to existing customers only), Future-Nine and CircleNet. VestaLink originally began as OBiVoice and morphed over trademark issues. While the service is no longer available to new customers, it remains the best bargain at $72 for two years of unlimited inbound and outbound residential calling services. A close second goes to Future-Nine and their "Future 5 Grey" plan which provides 1,500 inbound and 1,500 outbound minutes a month for only $5. You can sign up here. Be sure to read the Terms of Services carefully, especially item #18. The New Kid on the Block is CircleNet. In addition to very attractive pay-by-the-minute offerings of $.005 per minute to most of the U.S. and Canada, they also have an $8 a month all-you-can-eat plan for residential customers that includes a very reasonable 5,000 minutes a month for calls to the following countries: United States, Canada, Australia, Bangladesh, Belgium, Brazil, Chile, Cyprus, Denmark, Finland, France, Germany, Greece , Guam, Hungary, India,Ireland, Italy, Japan, Latvia, Mexico, Netherlands, New Zealand, Norway, Poland, Puerto Rico, Singapore, Spain, Sweden, Taiwan, Thailand, United Kingdom, and Vatican City. Just let them know that you plan to use it with an Asterisk-based PBX. CircleNet also is offering Nerd Vittles readers a free month of the $8/month service to kick the tires. Simply send an email to sales@circlenet.us with your valid email address to take advantage of the offer. One free trial per customer/email address. CircleNet also offers a $15 a month business plan with even more minutes.
A fourth class of VoIP providers is the dirt-cheap termination services including Anveo Direct, TelecomsXchange, V1VoIP and the Betamax companies for low-cost international calling. These providers make terrific additions for supplementing your other VoIP services. TelecomsXchange is our personal favorite because of the special deal they have extended to Incredible PBX users. You get access to 300 VoIP wholesalers and can read about their services in this Nerd Vittles article. V1VoIP also has some terrific deals with 15¢/mo. DIDs from 13,000 Rate Centers and incoming and outgoing U.S. call pricing as low as $.003 per minute (not a typo!). Anveo Direct was perhaps the first provider to offer wholesale pricing to consumers, and they remain a terrific service both for DID and origination services with T.38 fax support as well as many of the lowest cost SIP terminations worldwide featuring user-configurable least-cost routing. Check out their pricing and rates here.
Finally, there are the SIP providers such as VoIP.ms that offer a rich collection of special features that you won’t find in many places and certainly not under the same roof. These features include SMS messaging, SIP URI proxying and iNUM for free worldwide calling, and fax support. Every one of these features is free when you sign up for an account at VoIP.ms. We encourage you to take advantage of these little known free services to enhance your PBX.
Putting It All Together. Now that we’ve covered the options, let’s go over how we would actually implement this. For the inbound trunk and primary DID, we’d recommend a SIP trunk from either Vitelity, VoIP.ms, or CallCentric. If you have multiple, simultaneous inbound calls, then the Nerd Vittles Vitelity special below can’t be beat because it provides four call paths. In addition, you get SMS support on the same trunk. Many people now assume your primary number supports SMS. We actually get dozens of unsolicited SMS messages on our home number from schools, churches, and political groups. If incoming call volume isn’t an issue, then VoIP.ms and CallCentric also offer a free iNUM number for your account. And VoIP.ms throws in a SIP URI as well.
For outbound calling for home and SOHO deployments, we recommend at least one of the mom-and-pop, all-you-can-eat providers: Future-Nine or CircleNet. If international calling is a requirement, you can’t beat the CircleNet offering. In addition to using your primary incoming provider, we also recommend you set up SIP accounts with a couple of the dirt-cheap termination providers. These don’t cost you anything other than a modest deposit unless you actually use them to place calls. And, when your primary outbound service has an outage, your PBX will never miss a beat.
The icing on the cake always has been several Google Voice trunks which work well for IVRs, Stealth AutoAttendants with DISA support, and faxing. While this may change with the demise of XMPP support, it appears that Bill Simon’s SIP Gateway to Google Voice will live on. With the Nerd Vittles sign-up link, you can migrate your existing Google Voice XMPP connections to the Simonics gateway for $4.99 each should the need arise. Enjoy!
Originally published: Monday, June 11, 2018
CircleNet SIP Setup for FreePBX/IncrediblePBX/VitalPBX/Issabel:
username=acct-id type=friend trustrpid=yes sendrpid=yes secret=acct-pword qualify=yes nat=yes insecure=port,invite host=sip.circlenet.biz fromuser=acct-id context=from-trunk disallow=all allow=ulaw Registration String: acct-id:acct-pword@sip.circlenet.biz:5060/did-num
Future-Nine SIP Setup for FreePBX/IncrediblePBX/VitalPBX/Issabel:
username=acct-num type=friend trustrpid=yes sendrpid=yes secret=acct-pword qualify=yes nat=yes insecure=port,invite host=incoming.future-nine.com fromuser=acct-num context=from-trunk canreinvite=no disallow=all allow=ulaw Registration String: acct-num:acct-pword@incoming.future-nine.com/acct-num
Need help with Asterisk? Visit the PIAF 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.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Some Recent Nerd Vittles Articles of Interest…
Dare to Compare: The Best (free) VoIP Offerings for 2018
Last week we showed you how to get 10 months of free hosting for your Incredible PBX® in the Cloud. And today we present our semi-annual survey of the latest and greatest VoIP offerings for 2018. The beauty of the cloud platform is you can try all of them for less than a penny an hour and decide for yourself which free offering best meets your needs. This year we’ve ushered in new Asterisk® 13 LTS releases of Incredible PBX® on the CentOS, Ubuntu, and Raspberry Pi platforms as well as new versions for Issabel 4 and VitalPBX. To sweeten the pot even further, we nailed down a new Cloud-based offering for $10 a year that makes a perfect VOIP sandbox for our CentOS platform. For 2018, we also secured new (free) DID offerings in the U.S. and announced a Nerd Vittles exclusive providing access to 300+ VoIP providers worldwide, all at wholesale prices. And, last but not least, we introduced Digium’s newest IP phones for Asterisk including a $59 model that makes a perfect VoIP companion.
Choosing the Best VoIP Platform for Your Needs
Choosing a VoIP platform is partially a subjective decision, but there also are some glaring red flags to consider. We suggest you begin by deciding whether your preferences include any must-have’s. Do your requirements mandate an open source solution? Do you need text-to-speech and voice recognition? Does the operating system have to be Linux-based and, if so, must it be CentOS, Debian, or Ubuntu? If you’ll be using SIP phones, must the platform include phone provisioning software for your phones, or is the ability to purchase it as an add-on sufficient? Is paid support important in making your platform decision and how much are you prepared to pay? Are automatic or pain-free software updates critical in making your selection? Is migration from an existing platform a factor? Does a preconfigured, secure firewall matter, or are you prepared to do it yourself or take your chances? Before choosing to ignore security, read this RIPS analysis of FreePBX®. Here’s a snippet from the article. Read it carefully. It’s your phone bill.
Since FreePBX is written completely in PHP, we decided to throw it into our code analysis tool RIPS. The results were more than surprising and should tell you why a rock-solid firewall is absolutely essential.
The total amount of detected vulnerabilities is very high. Luckily, the majority of the detected vulnerabilities are inside the administration control panel, such that attackers either need to steal a valid account or they have to trick an administrator into visiting a malicious website that triggers one of the critical vulnerabilities. For example, a remote command execution vulnerability could be triggered by a less critical cross-site scripting vulnerability. By chaining both vulnerabilities, the severity is increased drastically and can lead to full server compromise.
In choosing which platforms to include today, we eliminated platforms which we considered too complicated for the average new user to configure. We also eliminated any platform that did not offer at least a free tier of service with a reasonably complete feature set as part of their offering. So here’s our Pick of the Litter.
We must confess that we are partial to the Incredible PBX offerings because they provide a turnkey GPL platform with minimal configuration required on your part. Regardless of platform, all come standard with a preconfigured firewall and about three dozen applications for Asterisk that will help you learn everything there is to know about VoIP telephony.
VoIP Platform Feature Summary
Aggregation: Incredible PBX 13-13 for CentOS/SL
License: Open Source GPL
VoIP Platform: Asterisk 13
GUI: FreePBX 13 GPL modules
O/S: CentOS/SL 6.9 or 7
Phone Provisioning: Open Source
Text-to-Speech/Voice Recognition: Yes/Yes
Software Updates: Automatic Update Utility included
Migration Tools: No
Security: Fail2Ban + Preconfigured Firewall Whitelist
Security Rating (as delivered): Secure
Comments: Lean & Mean or Whole Enchilada installers as well as ISO available
Aggregation: Incredible PBX 13-13 for Raspbian
License: Open Source GPL
VoIP Platform: Asterisk 13
GUI: FreePBX 13 GPL modules
O/S: Raspbian 7
Phone Provisioning: Open Source
Text-to-Speech/Voice Recognition: Yes/Yes
Software Updates: Automatic Update Utility included
Migration Tools: No
Security: Fail2Ban + Preconfigured Firewall Whitelist
Security Rating (as delivered): Secure
Aggregation: Incredible PBX 13-13 for Ubuntu
License: Open Source GPL
VoIP Platform: Asterisk 13
GUI: FreePBX 13 GPL modules
O/S: Ubuntu 18.04
Phone Provisioning: Open Source
Text-to-Speech/Voice Recognition: Yes/Yes
Software Updates: Automatic Update Utility included
Migration Tools: No
Security: Fail2Ban + Preconfigured Firewall Whitelist
Security Rating (as delivered): Secure
Comments: Lean & Mean or Whole Enchilada installers
Aggregation: VitalPBX
License: Closed Source
VoIP Platform: Asterisk 13
GUI: Free and Commercial modules
O/S: CentOS 7
Phone Provisioning: Free
Text-to-Speech/Voice Recognition: Optional/Optional
Software Updates: Automatic
Migration Tools: Yes
Security: Fail2Ban + User-Configurable Firewall
Security Rating (as delivered): Insecure
Comments: Incredible PBX add-on now available including TM3 firewall.
Aggregation: Incredible PBX for Issabel 4
License: Open Source GPL
VoIP Platform: Asterisk 13
GUI: FreePBX 11 GPL modules
O/S: CentOS 7
Phone Provisioning: Open Source
Text-to-Speech/Voice Recognition: No/No
Software Updates: Semi-Automatic
Migration Tools: No
Security: Fail2Ban + Unconfigured Firewall
Security Rating (as delivered): Secure with Incredible PBX add-on
Comments: Incredible PBX add-on provides secure platform
Aggregation: FusionPBX for FreeSWITCH
License: Open Source MPL 1.1
VoIP Platform: FreeSWITCH 1.6
GUI: FusionPBX
O/S: Debian 8
Phone Provisioning: Free
Text-to-Speech/Voice Recognition: Optional/Optional
Software Updates: Automatic
Security: Fail2Ban + User-Configurable Firewall
Security Rating (as delivered): Secure with mods below
Comments: Incredible PBX firewall add-on now available .
Aggregation: Incredible PBX for Wazo
License: GPL3 Open Source
VoIP Platform: Asterisk 15 RealTime
GUI: Wazo GPL3 modules
O/S: Debian 9
Phone Provisioning: Extensive Open Source
Text-to-Speech/Voice Recognition: Yes/Yes
Software Updates: Automatic or 2-minute Manual
Migration Tools: No
Security: Fail2Ban + Preconfigured Firewall
Security Rating (as delivered): Secure WhiteList with Incredible PBX add-on
Comments: High Availability & Call Center GPL3 Modules
Aggregation: FreePBX Distro a.k.a. AsteriskNOW
License: Closed Source
VoIP Platform: Asterisk 13/14/15
GUI: FreePBX GPL and Commercial modules
O/S: Closed-source CentOS fork
Phone Provisioning: Open Source (minimal) or Commercial
Text-to-Speech/Voice Recognition: Optional/No
Software Updates: Manual from Hidden Repo
Migration Tools: Yes
Security: Fail2Ban + User-Configurable Firewall
Security Rating (as delivered): Insecure
Comments: Extensive commercial NagWare preinstalled
Deploying a Local Server vs. Cloud Platform
We’ve always been big fans of local servers because you have almost total control of your own destiny. This was especially true when the Raspberry Pi came along to take the financial pain out of the server equation. But the price of Cloud-based servers has continued to plummet. For 2018, you can run any of our favorites on the least expensive platform at Vultr or Digital Ocean for $2.50 a month. And, if you hurry, your first 10 months are free at Vultr. Spending another 50 cents buys you automatic backups.1 And, for the Incredible PBX 13-13 build with CentOS 6.9 (64-bit), we’ve found a deal at HiFormance that offers a high-performance OpenVZ platform at an annual cost of just $10. The technical specs are impressive (even better if you sign up for 3 years), and we don’t think you’ll find a comparable deal with anything near comparable performance and specs anywhere, period. You get your choice of hosting sites including New York, Chicago, Los Angeles, Buffalo, Atlanta, and Dallas. Complete tutorial available here.
NOTE: OpenVZ/SolusVM platforms not suitable for CentOS 7, Debian 9, or Ubuntu 18 implementations, and some providers do not yet support Ubuntu 18.04 platform although Vultr and Digital Ocean both do.
Available Free Trunks for VoIP Servers
For many years, we’ve offered free Google Voice connectivity with our VoIP platforms. And that remains true at least for a few more weeks. On all of the Incredible PBX platforms, Google Voice trunks can be set up to make free calls in the U.S. and Canada provided you have a U.S. residence and a U.S. cellphone number to verify that you are who you say you are. There’s even a ray of hope that the Simonics gateway may allow you to continue using Google Voice after Google Voice’s mid-June drop-dead date for XMPP. Details here. But what about the rest of the world. For 2018, we solved the problem by offering free DID trunks for inbound calls and a collection of 300 wholesale VoIP carriers worldwide to make outbound calls at the same wholesale rates offered to the very largest resellers. Simply pay a 13% surcharge in lieu of the $650 annual fee, and TelecomsXchange (TCXC) will provide you access to their entire suite of wholesale carriers together with state-of-the-art tools to manage all of the services.2 The Nerd Vittles setup tutorial is available here. Enjoy!
Published: Monday, March 5, 2018 Updated: Sunday, May 27, 2018
Need help with Asterisk? Visit the PBX in a Flash Forum.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Some Recent Nerd Vittles Articles of Interest…
- On the Vultr and Digital Ocean $2.50 platforms, be sure to (1) create a 1GB swapfile once you’ve chosen your operating system. (2) Then, for Vultr, issue the following command before beginning the Incredible PBX install: apt-get install cloud-init.
(3) Now complete the steps outlined in your preferred Nerd Vittles tutorial, and you’ll be all set in about 15 minutes. [↩] - Our special thanks to TelecomsXchange. They have generously offered to contribute a portion of the wholesale surcharge to support the Incredible PBX open source project. [↩]
Cloud 9: Free Incredible PBX in the Cloud Hosting until 2019
These deals don’t come along every day so we’re interrupting our regular programming to alert you to a terrific, limited time cloud hosting offer for first-time users of Vultr. If you hurry, you can take advantage of a $25 credit on Vultr which translates into 10 free months of cloud hosting service. We can’t say enough about Vultr. They’ve been one of our key resources for development and testing of new releases of Incredible PBX for many years. Historically, they’ve supported our open source projects through generous referral revenue although that does not apply with this special offer. If you’ve always wondered whether cloud hosting was a viable alternative to on-premise solutions, now’s your chance to kick the tires at zero cost. And the other good news is you have your choice of the following Incredible PBX offerings. Simply load the required OS or upload the ISO for the platform of your choice and follow the linked tutorials below. Enjoy!
- Incredible PBX for CentOS 6 or 7
- Incredible PBX with Incredible PBX 13-13 ISO
- Incredible PBX for Ubuntu 18.04
- Incredible PBX with VitalPBX 2.0 ISO
- Incredible PBX with Jan. 2018 Issabel ISO
- Incredible PBX with Wazo 17.17 (Debian 8)
Originally published: Friday, May 25, 2018
Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a terrible place to handle support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forums. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, ours is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won’t have to wait long for an answer to your question.
Need help with Asterisk? Visit the PBX in a Flash Forum.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
Some Recent Nerd Vittles Articles of Interest…
Creating an OBi200 Google Voice Trunk to Use with Asterisk
Since Asterisk® will no longer be able to "talk" to Google Voice after June 17, we promised to hold our nose and document how to salvage your Google Voice trunks. Our exercise for today is to show you how to deploy an OBi 200-series device which can speak the new Google Voice language and use it as a traditional SIP bridge between Google Voice’s proprietary SIP platform and your Asterisk server. We will skip the editorializing on why Google is making a terrible mistake by discarding XMPP and forcing users to a proprietary solution necessitating a hardware purchase without first offering an open standards solution as Google’s Community Manager promised here. Promises, of course, don’t keep your phones ringing. For the whole story, see our article from last Saturday. For today, you’ll need to shell out $50 for an OBi 200 device. Once you have it in hand, feel free to read on and we’ll get you back in business. For security reasons, it should be noted that today’s setup assumes you are running an Incredible PBX® server and OBi device locally behind a NAT-based router. This will work equally well with the Incredible PBX-enhanced versions of Issabel and VitalPBX. We’ll leave it to the FreePBX® folks to figure out a solution for their proprietary distro.
Everything we’re covering below will work just as well using any of the OBi 200-series devices. We’ve simply chosen to use an OBi202 in our examples today because it supports an extra phone port. But an OBi200 works just as well if you will only be deploying Google Voice trunks (up to 3 and perhaps more) for your PBX. They retail for approximately $50 and are readily available at Amazon through the link in the right column which also provides a few shekels for Nerd Vittles to keep the lights on. As mentioned last week, Obihai crippled the OBi 110-series devices which will no longer work with the new Google Voice setup. Such a fine company that we once praised for producing our Device of the Year. And don’t worry. If you ever visit their forum, you can expect a cheery reception from the Obihai forum moderator. Here’s the response we got1 when raising concerns about the demise of Google Voice XMPP:
Registering Your OBi2x Device with OBiTALK
A Quick Start Guide accompanies your OBi hardware. Following along in the tutorial will get your OBi set up using a free (so far) OBiTALK account. When you get to Step 5, you’ll be ready to set up your Google Voice account by clicking the Google Voice Set-Up button.
Before you begin the Google Voice setup, we strongly recommend that you plug a POTS phone into your OBi device and dial ***6 to update your firmware to the latest release. Depending upon where you purchased your device, it may or may not have the latest firmware which is required to communicate with Google Voice on or after June 17.
We also recommend that you dial ***1 and obtain the DHCP-assigned IP address for your OBi. You’ll need this in a few minutes. And, while you’re at it, be sure to set the OBi up behind a NAT-based router to protect it from intrusion. Once someone gains access to your OBi, they’ve essentially got the keys to your telecom castle. So always deploy an OBi behind a hardware-based firewall that is on the same private LAN as your Asterisk PBX. Finally, on your router, be sure to reserve the DHCP-assigned IP address of your OBi for permanent use by the OBi hardware. Otherwise, the IP address of your OBi may change, and this will break the SIP gateway connection to your Asterisk server.
Finally, a word about the new OBi setup. All of your settings are now stored and managed in the OBiTALK cloud. Obihai then pushes the configuration to your OBi device. To put it charitably, this usually works but sometimes it doesn’t, and you end up with a quirky OBi setup that looks correct in the cloud but simply doesn’t work. We’ve found the simplest solution is to unplug the device and then restart it. Then check all of your cloud-based settings when the OBi device comes back to life to be sure none of your settings disappeared. Sometimes they do! In the old days, you had the option of configuring your OBi device locally; however, Obihai (now Polycom) has disabled that functionality with the new Google Voice setup presumably to disguise what they are doing under the covers to connect to Google.
Configuring a Google Voice Trunk on OBi200
To give credit where credit is due, configuring a Google Voice trunk on the OBi 200-series devices is dead simple. Login into your OBiTALK account, click on your OBi device, and then click the Google Voice Set-Up button.
Enter your Google Voice credentials when prompted, give Obihai permission to control your Google Voice account, and you’re done. Within a few seconds, the connections dialog box should show Google Voice connected on service provider SP1.
If you haven’t already done so, plug a POTS phone into your OBi device and place a call to somebody by dialing a 10-digit number. Then use another phone and call the Google Voice number you assigned to your OBi device. The POTS phone should ring. Don’t continue until you get these calls working in both directions. You’d be wasting your time.
Now we need to adjust the destination for incoming calls to your OBi device and redirect them from the POTS phone to the SP3 trunk we’ll be using to connect to your Asterisk server. We’ll leave SP2 unoccupied in case you wish to add another Google Voice trunk down the road.
To make this change, click the OBi Expert Configuration button at the bottom of the Device Configuration window. Then click OK to confirm that you know what you’re doing. Next click the Enter OBi Expert button at the top of the next form. In the left column, click Voice Services and then SP1 Service. The fifth parameter is called X_InboundCallRoute. Beside it, uncheck both the OBiTALK Settings and Device Default checkboxes. Now enter sp3(6781234567) in the Value field for X_InboundCallRoute where 6781234567 is your actual Google Voice phone number (DID). Scroll to the bottom and click the Submit button.
Finally, at the top of the left column of the form, click Return to OBi Dashboard.
Configuring OBi SIP Trunk for Asterisk
1. Login to your OBi Dashboard using a web browser . After signing up for an account and registering your OBi device, click on the OBi 200 device in the My OBi Devices list.
2. In the Device Configuration dialog, click OBi Expert Configuration button. When prompted whether you’re sure, click OK.
3. In the OBi Expert Configuration Menu, click Enter OBi Expert button.
4. In the Production Information (left) column, click Service Providers.
5. In the Service Providers listing, click ITSP Profile C General.
6. For each of these fields, uncheck OBiTALK Settings and then uncheck Device Default:
- General:Name
- Service Provider Info:Name
- Service Provider Info:URL
7. Fill in the ! field Values as shown below using the private IP address of your PBX:
8. Click Submit button after checking your entries carefully.
9. In the Service Providers listing on the left, click ITSP Profile C SIP.
10. In the ITSP Profile, enter the private IP address of your PBX in the Proxy Server, Registrar Server, and Outbound Proxy fields after first unchecking both the OBiTALK Settings and Device Default checkboxes.
11. Scroll down the form to X_SpoofCallerID and uncheck both the OBiTALK Settings and Device Default checkboxes. Then check the Value field for X_SpoofCallerID.
12. Scroll down the form to X_DiscoverPublicAddress and uncheck both the OBiTALK Settings and Device Default checkboxes. Then uncheck the Value field for X_Discover PublicAddress.
13. Click Submit button after checking your entries beside the 5 red exclamation points.
14. In the Production Information (left) column, click Voice Services
15. In the Voice Services listing on the left, click SP3 Service.
16. In the SP3 Service Profile, fill in the 5 fields in which the OBiTALK Settings checkbox is unchecked. The AuthUsername and AuthPassword entries will be used to authenticate to your PBX so be sure to choose a very secure password. It’s your phone bill. The URI field actually makes the trunk connection to your PBX so replace the 192.168.0.82 entry shown with the actual IP address of your PBX.
17. In the SIP Credentials section of the form, make certain that X_EnforceRequestUserID is unchecked. If not, uncheck both the OBiTALK Settings and Device Default checkboxes and then uncheck X_EnforceRequestUserID.
18. If you do not want to pass the CallerID number with your calls, in the Calling Features section of the form, be sure to check AnonymousCallEnable after unchecking both the OBiTALK Settings and Device Default checkboxes.
19. In the Service Providers listing on the left, click ITSP Profile A SIP.
20. Be sure X_SpoofCallerID is checked.
21. Click Submit button after checking your entries carefully.
Configuring Incredible PBX GUI for an OBi200
On the Incredible PBX side, log into the GUI using a web browser. We’ll be adding a SIP trunk, an outbound route, and an inbound route to process calls to and from the OBi device.
Add a SIP Trunk with a Trunk Name matching whatever you used in your OBi SIP credentials, e.g. obi200 or obi202. Plug in your Outbound CallerID to match your Google Voice phone number. In the Dialed Number Manipulation Rules tab, add a Match Pattern of NXXNXXXXXX. In the SIP Settings tab for Outgoing, the Trunk Name should match whatever you used on the OBi side, e.g. obi200 or obi202. In the PEER DETAILS, enter the following using the default username and password you assigned on the OBi side. Normally, port 5061 is the default port assigned on the OBi side. If you get a failed registration, try 5060 and then 5062 and 5063. Click Submit and reload your dialplan when finished.
type=friend defaultuser=obi200 secret=your-password qualify=yes port=5061 nat=yes host=dynamic dtmfmode=rfc2833 disallow=all context=from-trunk canreinvite=no allow=ulaw insecure=port,invite
For Outbound Call Routing, we recommend an Outbound Route using the 624 (OBI) prefix and 10-digit numbers. For example, if a user dials 624-888-1234567, your Incredible PBX server would place a call using the OBi’s Google Voice trunk to 1-888-1234567. When your Outbound Route setup looks like the following, click Submit and reload your dialplan.
For Inbound Call Routing, create an Inbound Route specifying a DID Number to match your Google Voice number. Choose a Call Destination to meet your own requirements, e.g. an extension, ring group, or IVR. Then click Submit and reload your dialplan.
Now you’re ready to test an outgoing call by dialing the OBi prefix (624) plus a 10-digit number. Then place a call to your Google Voice number using your cellphone and be sure Asterisk routes it to the destination you specified in your inbound route above.
Configuring VitalPBX to Use an OBi200
Truth be told, we weren’t bright enough to figure out how to configure the VitalPBX Trunk using credentials so we simply set up the SIP trunk using IP address authentication with the IP address of the OBi device. It works just as well and just goes to prove there’s always more than one way to skin a cat. So here’s the Trunk configuration on the VitalPBX side. The only entry you will need to change is the Host IP address for your OBi device. If you don’t know it, plug a phone into the OBi and dial ***1.
NOTE: For the Username and Description fields below, be sure to match what you used on the OBi side (above) for your SIP credentials, i.e. obi200 or obi202. If they don’t match on both devices, you won’t get a successful connection. Our apologies for mixing apples and oranges in the screenshots.
For Outbound Call Routing, we recommend an Outbound Route using the 624 (OBI) prefix and 10-digit numbers. For example, if a user dials 624-888-1234567, the VitalPBX server would place a call using the OBi’s Google Voice trunk to 1-888-1234567. Here’s the Outbound Route setup to make that happen:
For Inbound Call Routing, go to PBX:External:Inbound Routes and add an inbound route and destination for calls from your 10-digit Google Voice number. Or you can use the Default Inbound Route which we explained in our previous VitalPBX tutorial. Basically, you set up an Inbound Route with a Description and Routing Method of Default. All the other fields should be left as is except for the Inbound Destination. For the destination, you can choose an IVR, Extension, Ring Group, etc. to meet your own requirements.
Originally published: Monday, May 14, 2018
Support Issues. With any application as sophisticated as this one, you’re bound to have questions. Blog comments are a difficult place to address support issues although we welcome general comments about our articles and software. If you have particular support issues, we encourage you to get actively involved in the PBX in a Flash Forum. It’s the best Asterisk tech support site in the business, and it’s all free! Please have a look and post your support questions there. Unlike some forums, the PIAF Forum is extremely friendly and is supported by literally hundreds of Asterisk gurus and thousands of users just like you. You won’t have to wait long for an answer to your question.
SPECIAL TREAT: If you could use one or more free DIDs in the U.S. with unlimited inbound calls and unlimited simultaneous channels, then today’s your lucky day. TelecomsXChange and Bluebird Communications have a few hundred thousand DIDs to give away so you better hurry. You have your choice of DID locations including New York, New Jersey, California, Texas, and Iowa. The DIDs support Voice, Fax, Video, and even Text Messaging (by request). The only requirement at your end is a dedicated IP address for your VoIP server. Once you receive your welcome email with your number, be sure to whitelist the provider’s IP address in your firewall. For Incredible PBX servers, use add-ip to whitelist the UDP SIP port, 5060, using the IP address provided in your welcoming email.
Here’s the link to order your DIDs.
Your DID Trunk Setup in your favorite GUI should look like this:
Trunk Name: IPC
Peer Details:
type=friend
qualify=yes
host={IP address provided in welcome email}
context=from-trunk
Your Inbound Route should specify the 10-digit DID. Enjoy!
Need help with Asterisk? Visit the PBX in a Flash Forum.
Special Thanks to Our Generous Sponsors
FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.
BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.
The 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.
VitalPBX 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!
Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
- You can always find a little humor in insults if you dig deep enough. Ironically and unbeknownst to our pal, Steve, it was Sherman Scholten and his OBi development team that were among the first Google Voice "freeloaders." Only years later after Google Voice was integrated into FreeSwitch did Josh Culp at Digium perfect a clean way to integrate Google Voice into the Asterisk platform. [↩]