Skip to content
Sep 11 14

How To: Reset Lost Password on Polycom VVX IP Phone

by Jon

I ordered a few used Polycom VVX 500 phones from ebay and not to my surprise the default admin passwords was changed. I consulted with the seller and they did not have the passwords so I was left with the task of figuring out how to factory reset the phones. After reading many, many tutorials none of which helped I was ready to throw in the towel when I decided to try a last-ditch effort to use a TFTP server with a DHCP option to over ride the existing config. Luckily that fixed it without much effort. Below is how to do a quick step by step using an AstLinux PBX, but that could be done with any FTP/TFTP server.

1. First you need to create a config file with the filename using the MAC address of the phone, so such as one of my files was 0004f283345b.cfg. This file should contain the following text as seen below. You will need a file for each phone you need to reset.

0004f283345b.cfg contents below:

<?xml version="1.0" standalone="yes"?>

2. The second file needed is what will actually overwrite the admin password. This file is referenced in the above file as, CONFIG_FILES=”reset-password.cfg” so make sure you have the same file name for this config. There are extra settings but the key is the device.auth settings for the admin password, make sure those are kept intact.

reset-password.cfg contents below:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

3. These files now need to be put in an FTP or TFTP directory and published by a server, I choose to use the AstLinux FTP server so I stored the files in the /root directory. You can use your own knowledge of FTP servers to configure this on your own.

4. The last step is to configure your DHCP server for option 66 to force the phone to download the config files. I use Cisco/Meraki equipment and so I have attached a screenshot of how to do that with a Meraki MX 60 but the settings apply to any other type of DHCP server. The string I am using is how the phone will login to the FTP server, the format is as follows ftp://username:password@ip-address of server.


Once that is all setup reboot your phone and watch the logs on your FTP/TFTP server to make sure it downloads the files. It really is very easy and I was able to reset a handful of phones in less than 10 minutes. Once you can login to the web interface with the new default password just go to the menu option to do a factory reset on the phone.

Aug 4 14

AstLinux Record Phone Calls to External USB Flash Drive Part 3

by Jon

In my last post I gave you examples of how to record phone calls using the Asterisk dialplan. This post will make sure those recordings get stored on the external USB drive we formatted.

By default Asterisk will store call recordings to /var/spool/asterisk/monitor which is fine but the directory is on the compact flash card running AstLinux so we don’t want to do that. To redirect the call recordings and mount the USB drive I created a script I run via a cron job in case the system gets restarted.

1. The script will check for the existence of a file stored on the usb drive and if it does not exist then mount the drive. I stored the script on the keydisk at /mnt/kd/

if [ ! -f /mnt/usb/mount.txt ]; then
mount -t ext2 /dev/sdb1 /mnt/usb/
rm /var/spool/asterisk/monitor
ln -s /mnt/usb/ /var/spool/asterisk/monitor
date >> /mnt/usb/mount.txt

2. Next is to schedule the script as a cron job, of course make sure to make the script executable with the chmod +x command. Editing the crontab’s file on Astlinux is done through the web admin. I setup the script to run every 10 minutes since when I tried using the cron @reboot option it did not do anything, so worst case it might take up to 9 minutes and 59 seconds to mount the drive after a reboot For my home system this is an acceptable margin of error.

*/10 * * * * /mnt/kd/


3. Once the script as run it is very easy to listen to recordings using the Astlinux web admin. Just click on the Monitor tab which will display all the recorded phone calls.


Make sure to go back and read each part to do call recording on your AstLinux system.

AstLinux Record Phone Calls to External USB Flash Drive Part 1

AstLinux Record Phone Calls to External USB Flash Drive Part 2

Jul 31 14

AstLinux Record Phone Calls to External USB Flash Drive Part 2

by Jon

In part 1 of this post I showed you how to format and mount an external USB drive. Next I will show you how to set up call recording for inbound and outbound phone calls in your Asterisk dialplan.

1. Open extensions.conf to edit and find in the dialplan where inbound calls are directed. I am going to use the example DID number of 8885551234 and use the mixmonitor Asterisk command. See the dialplan below to record an inbound phone call.

exten => 8885551234,1,Answer
exten => 8885551234,n,Set(CDR(userfield)=ib_${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${EXTEN}_${CALLERID(num)})
exten => 8885551234,n,MixMonitor(ib_${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${EXTEN}_${CALLERID(num)}.wav)
exten => 8885551234,n,Dial(SIP/100,24,trwW)
exten => 8885551234,n,Voicemail(100,su)
exten => 8885551234,n,Hangup

The most important step here is MixMonitor where you give the recording a filename and format. I choose to use the dialplan destination as well as the caller id number in the filename for future reference and stored it in a wave format.

2. Next let’s do call recording for outbound phone calls, now you need to find that section in the Asterisk dialplan.

exten => _NXXNXXXXXX,1,Set(CDR(userfield)=ob_${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${EXTEN}_${CALLERID(num)})
exten => _NXXNXXXXXX,n,MixMonitor(ob_${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${EXTEN}_${CALLERID(num)}.wav)
exten => _NXXNXXXXXX,n,Dial(SIP/${EXTEN}@sip-outbound,60,trwW)
exten => _NXXNXXXXXX,n,Hangup

Above you can see I used the same Asterisk command MixMonitor to create the recording. Again I urge you to check your local laws about recording phone calls.

Now that Asterisk is recording the phone calls we need to make sure the phone calls get stored on the USB drive. In the next part I will show you how to direct the recorded phone calls to the USB drive connected to the PBX.

Jun 22 14

AstLinux Record Phone Calls to External USB Flash Drive Part 1

by Jon

I use AstLinux running on an Alix board at home for my personal phone calls. Alix boards are small and lightweight so it works very well in a low call volume environment. The system has worked very well for me but I have wanted to add call recording to give me the ability to go back and listen to a call for a phone number or address something I may have missed. Of course if you are going to carry out this make sure you know the laws in your state about legal call recording.

With that disclaimer out-of-the-way let’s configure call recording to an external USB drive.

1. First plug your USB drive into an available port on the board. Don’t worry about the format of the file system just make sure you don’t have anything important on the drive because everything gets deleted.

2. Find out how to reference the USB key by doing the following command. # fdisk -l


3. Now here is the part we will delete everything on the drive. To do this we need the /dev/sXX from the prior command, in this instance I used # fdisk /dev/sdb you will then use the d key to delete until all partitions are deleted and w to write the changes.


4. The next step is to create a linux partition on the drive so we use the same # fdisk /dev/sdb command and then use n for new partition followed by the enter key a couple of times for the default options and w again to write the partition.


5. The drive has a partition on it but it has not been formatted so this step will format the drive to a readable format. # mke2fs -q -L ASTREC /dev/sdb1

6. Make a mounting directory like so. # mkdir /mnt/usb

7. Finally we can mount the usb disk. # mount -t ext2 /dev/sdb1 /mnt/usb/

8. Now you can see the new disk by doing a # df -h


In the next post I will show you how to do the call recording in the Asterisk dialplan.

May 25 14

Daily Inspirational Podcast Entrepreneur on Fire

by Jon

entrepreneur-on-fireAs an avid reader of entrepreneurial and business books I recently came across the website EntrepreneurOnFire which is a daily podcast interview of the great ideas and projects some world-renowned entrepreneurs are working on now. I started listening to these recently and it has been an amazing resource for information and motivation to carry out dreams and get started. I highly recommend following their progress and something very unique about this website is the public sharing of their current revenue from this project that started less than 2 years ago in September of 2012.

As posted on their website in March of 2014 the site generated over $180k, an amazing feat considering that it has only taken a year and a half to get to that point. This site has great stories of success and nuggets of information to help get your business off the ground.

Apr 7 14

Microsoft to Stop Supporting Windows XP Operating System April 8th

by Jon

As of this writing Microsoft is going to officially stop supporting the popular Windows XP operating system starting tomorrow, April 8th. Although this will not prevent users computers from running it will however create a flood of hackers targeting these legacy machines. Since announcing lack of support for XP Microsoft has entered into contracts with enterprises and governments for continued support giving these organizations extra time to migrate away from the long favored operating system.



According to some studies Windows XP still accounts for more than 30% of the operating system market which comes out to over 500 million computers. The numbers are pretty astonishing considering that Windows XP is 12 years old. Now these 500 million users have a choice of migrating to a newer Microsoft product like 7 or 8.1, Apples Mac OS X or even a Linux variant. I can imagine this is going to create a large influx of users who take the opportunity to jump ship over to Apple products since everyone is so familiar with iPhones, iPad’s and Apple TV’s it makes it an easier transition.

Apple has a fantastic opportunity to capitalize with Microsoft abandoning so many users. I for one transitioned to Apple years ago while working for a tech startup company. The first use of OS X came with a high learning curve but it was very rewarding once you reach a mid level of proficiency providing a very stable environment and fast responding applications.

So if you are one of the aging Windows XP users out there I would recommend taking a long look at the products coming out of Cupertino.



Mar 20 14

Update to Synology DSM 5.0 NAS OS DS213+

by Jon

I have a Synology DS213+ NAS I use to back up computers and files. Synology recently updated the DSM OS to version 5.0 which I wanted to try on my NAS. Updating a Synology NAS is very easy being just a one click update from the control panel. The update took around 5 minutes and came right back up even with the fact I was doing this all over a remote VPN client connection. Keep in mind there is a recent update to install after the version 5 upgrade is complete so this could take a total of 10-15 minutes.


Once the update was complete the GUI of the Synology was visually enhanced. I would compare it more along the lines of OSX and Apple UI’s.


Overall everything you can expect from Synology still works and a few more bells and whistles. One such feature is the QuickConnect setup which will configure remote management of your NAS automatically setting up port forwarding and a dynamic dns name. Since I have my NAS behind a Meraki MX60 this wouldn’t work for me so I skipped it. The update did not slow down the NAS interface at all it may even have sped it up.

Feb 24 14

IFTTT: If This Than That, Internet API Recipes

by Jon

If this then that is a web API service that has been around for a while now and since it has become very popular I decided it is time to give it a test. The webpage is where users are able to create recipes for internet services using things like Gmail, Belkin WeMo, Craiglist and many other third parties. To see all 87 channels at the time of this writing go to the IFTTT channels page These channels give users the ability to take data or triggers from 1 service to feed another.


A good example of that would be if it is going to rain today send me a txt message in the morning reminding me to bring an umbrella. Another great example is if there is traffic on a highway I take to work call my cell phone so I take a different route.

Some of the major API’s available at this time are from Google, Evernote, Facebook, Apple IOS, and Jawbone UP which are just some of the ones I like to use.

Jan 4 14

Meraki Cloud Managed MR Wireless Access Points

by Jon

I was recently introduced to the Cisco Meraki line of cloud managed network equipment and I was very impressed. The cloud based management of this equipment makes it amazingly easy to configure, deploy and manage. I got my first hands on with a Cisco Meraki MR12 wireless access point through their free online webinar series.


I received the MR12 AP a couple of weeks after attending the online webinar. Installation is as simple a plugging it into a PoE port or standard switch with the included power supply. Once the MR12 is up and has an ip address from your DHCP server the cloud takes over. Login to the Meraki dashboard and add the serial number to your network. Now open up the AP from the cloud control panel and start configuring. When I first go mine I had 2 SSID’s up and running within a matter of 10 minutes with one secure internal wireless network and a public nat’d wireless network including a splash page and 1 hour timeout.

Being able to roll out SSID changes so quickly from a single webpage was pretty amazing. This now gives me the ability to make changes when I am traveling or if I have to remotely do troubleshooting since I am the IT guy of my home network.

So far I really like the Meraki gear and I am looking forward to playing with the MX series security appliance and switches. Since I recently attended a Meraki CMNA certification class I will be getting a MX60 security appliance, 8 port switch and an additional wireless access point.


  • Expensive
  • Cloud interface takes a bit of getting used to


  • Easy to configure
  • Remote management via cloud
  • Detailed reporting included


Dec 10 13

How To: Install OpenVBX on CentOS Rackspace Could Server

by Jon

If you are like me and have a couple old mobile phone numbers that you may have ported to Google Voice or some other service then this post will be very useful. In prior posts I discussed Twilio, SaaS providing voice and sms capabilities, which I have used with my old mobile phone number to ensure I get all my phone calls and txt messages sent to those old numbers. Combining the power of Twilio and OpenVBX, an open source project for a virtual PBX like Grasshopper, I can route calls to my current mobile phone number and have voice mail’s transcribed to my email.

So to do this I had to port the phone numbers I wanted to use over to Twilio which is free and depending on the losing carrier can take 7 days to 30 days. I highly recommend being very thorough with your porting forms and sending in a copy of the bill this will help make sure the process does not get stopped due to the losing carrier.

Once you get an LOA that the numbers are going to port spin up a Rackspace Cloud Centos server to install OpenVBX on. I am a big fan of Rackspace Cloud servers over AWS due to their easy to use interface, number of options like load balancers and Rackspace’s phenomenal support. When I run into problems the support is a chat message away and they always go above and beyond their supported areas, like one instance where I was having problems compiling something with the default kernel they helped me find different kernel sources to get it working. Anyway on to the OpenVBX install.

Once your server is up and running it will require Apache, MySQL and a few dependencies. Use the yum command below to install required software.

yum install httpd php php-pecl-memcache php-pecl-apc-devel php-mysql mysql-server mysql-devel unzip

After the software finishes installing go ahead and reboot the server.

Now you will need to download the OpenVBX software to install on the server. Here is a link to the website and there is a download button on the home page or just do a wget to this url from github

To install the Open VBX app on your web server follow these commands below, this will download the app, put the site in the root of the web server and install the database.

cd /usr/src/
unzip master
mv OpenVBX-master/ /var/www/html/OpenVBX
cd /var/www/html/OpenVBX
service mysqld start
service httpd start
mysqladmin -u root password 'newpassword'
mysql -u root -p'newpassword'
 create database openvbxdb;
mysql -u root -p'newpassword' -D openvbxdb < openvbx.sql
chgrp apache OpenVBX/config/
chgrp apache audio-uploads/
chmod g+w OpenVBX/config/
chmod g+w audio-uploads/

When you are done with that there is a web installer to follow as seen below.

Step 1: Check for all the prerequisites. As you can see in the screenshot I did not setup the permissions correctly but if you followed my command line setup this will not be an issue.


Here you can see the checks all worked perfectly.


Step 2: Next it will ask you to enter in the database credentials as we used above, so in this example it would be as follows:
Username: root
Password: newpassword
Database: openvbxdb


Step 3: Now you need to enter your Twilio account credentials for the API to work correctly, you can find those at the top of the page once you login as highlighted in the screenshot.



Step 4: Enter in an email address you want the PBX notifications to come from.


Step 5: Create your user account to login and configure your virtual PBX and be able to buy DID numbers.


Step 6: All done the install is complete now you can login to your install by clicking the login button and using the username and password you created above.