Sunday, August 16, 2009

Easy Boot Flash Drive for Linux installs

I recently needed to install a CentOS image from a flash drive. Since it was a bit of a hassle to figure out how to make a flash drive bootable I figured I would document it here so others could benefit. This method assumes you have a Redhat or CentOS Linux machine available for this process and intermediate knowledge of Linux.

Things you will need:

• A thumb drive
• A bootable image “.img”
• A computer with Linux installed on it.

You can create an image using a utility such as DropDMG, or download one from the Internet. For this exercise we will use a CentOS (diskboot.img) image that I downloaded from

Follow these steps to move the image onto your flash drive:

1. Save your image file to your home directory on your Linux machine.

2. Place the flash drive into the USB port on your Linux machine and use the dmesg (alternatively use fdisk –l) command to determine the device’s location.

sd 8:0:0:0: Attached scsi removable disk sda
sd 8:0:0:0: Attached scsi generic sg0 type 0
Vendor: SanDisk Model: U3 Cruzer Micro Rev: 8.02
Type: CD-ROM ANSI SCSI revision: 00
sr0: scsi3-mmc drive: 48x/48x tray
sr 8:0:0:1: Attached scsi CD-ROM sr0
sr 8:0:0:1: Attached scsi generic sg1 type 5
usb-storage: device scan complete

Note that the device location is sda

3. Using the dd command and the flash drives specific location (e.g. /sda) move the image to the flash drive

[root@newcastle ~]# dd if=diskboot.img of=/dev/sda bs=4096
3072+0 records in
3072+0 records out
12582912 bytes (13 MB) copied, 2.81418 seconds, 4.5 MB/s
[root@newcastle ~]#

You should now have a bootable flash drive that you can use to install Linux or run a Live CD image from USB.

Here is a great Ubuntu tutorarial for creating an Ubuntu flash drive install:

Windows Flash Drive Utility:

Tuesday, August 11, 2009

Bitware Technologies launches VoIP leasing option for Michigan Businesses.

BitWare Technologies, a leading technology company, recently launched a new, small business friendly VoIP solution. BitWare is now offering a leasing alternative for organizations wanting to take advantage of the huge telecommunications cost savings and many features that Voice over IP offers.

Dennis J. Monroe II (DJ), Partner says, “This is a great way for a small business or a home based business to offer sophistication to both their clients and prospective clients.”

For businesses today, VoIP technology continues to be a communication tool that is cost effective and rich in features that include free voicemail, call forwarding, caller ID, call waiting, call waiting ID, 3 way calling, speed dialing, find me follow me and much more.

BitWare Technologies’ first leasing customer is Source Path, a technology company located in Oakland County. Source Path offers its clients IT consulting, sales and services to businesses. Joshua J. Van Berkum, Sr. Systems Engineer/Principal explains, “Your customers judge you on your phone system and accessibility. In our line of work we need a phone system that works remotely and will allow us to manage and prioritize help desk tickets.” Joshua goes on to say, “BitWare’s VoIP solution and this new leasing option is a great fit for our telecommunication needs.”

In addition to standard VoIP features, BitWare Technologies customers enjoy added benefits including converting voicemail to email, receiving faxes and access to a user portal where they can review reports and make changes to their phone lines. One feature in particular that Source Path, was looking for and found with BitWare Technologies is mobile phone integration. This feature allows Joshua J. Van Berkum and Timothy H. Boyes, Principals to prioritize phone calls when they are out of the office for business. The technology works by having the caller identify themselves when the “desk” phone answers. If the recipient of the phone call is out, the phone rings through to their mobile line and identifies the caller giving Source Path the option to answer the call or forward the call to voice mail where a help desk ticket will be electronically generated.

BitWare’s leasing option was designed to be an attractive offering for small or home based businesses/offices, but in today’s tough economy, leasing is also a recession-beating finance option. It enables businesses to have the opportunity to overcome short-term cash flow or budgetary concerns, and invest in cost-effective technology. Installation and monthly costs are low and ongoing support costs are included with the monthly lease price. BitWare Technologies is offering a silver lining for businesses that are determined to weather the economic storm. Despite budget concerns, or the size of the business, organizations can still upgrade their outdated telephony systems and switch to a more cost effective communications technology.

Founded in 2005, BitWare Technologies continues to help businesses embrace new phone system and technology solutions giving their customers the competitive advantage they need.

Tuesday, August 4, 2009

Howto NAT: Polycom Phones and Asterisk

I see many posts on the Internet regarding registering Polycom phones to Asterisk when one or both are behind a NAT firewall. Having worked through this issue myself I thought it was time to share with the community the steps I take to get my remote Polycom customers up and running. Most of these steps will apply to any SIP device on the market, but here I am focusing on configurations specifically for Polycom since they are the only phones you should ever consider using. :D

Firewall Settings

Assuming you are working with a NAT/PAT capable router the following ports on your network need forwarded to your server and your phone (if you are working with multiple phones behind the same firewall you need to define RTP ports for each phone):
  • SIP UDP/5060 Forward to the internal address of the server or phone
  • RTP UDP/10000-20000 Forward to the internal address of the server or phone
If you have a firewall that can prioritize traffic or perform QOS you want to prioritize this traffic to the Internet. This will help keep your Youtube vids from interfering with your voice quality.

Asterisk Settings

SIP was not made with NAT in mind. Therefore, some specific settings are required in Asterisk to get SIP to work from behind NAT. Primarily, Asterisk needs to advertise the external IP address of the NAT device it is hiding behind. This modifies the SIP headers and keeps your voice and signaling path from trying to reach an internal address from an external location.

In the [general] section of sip.
conf (or in sip_general_custom.conf on a FreePBX server) add the following lines:

externip= (this is the external IP of your network)
localnet= (this is the internal network and netmask)

If you do not have a static
IP you will need to use a URL. In this case use this instead: (your URL)
externrefresh=120 (DNS refresh rate)
localnet= (your internal network and netmask)

Once you have these settings in place you will need to specify whether your SIP clients are NAT or local. From FreePBX this is easily accomplished in the extensions configuration by setting NAT to "yes" and qualify to "yes". These same settings apply if you are building your sip peers in sip.conf. Your other phones will need to be set to "no" for NAT so that they receive internal network information from Asterisk.

Phone Settings

This used to be a hassle with Polycom phones. Luckily with newer firmware versions, fields have been added to make dealing with NAT a breeze. This assumes you are using a boot server to configure your phones. This is the best (read "correct" here) way to manage a Polycom device. If you are configuring the phone via the web interface or menus please fee free to interpret these settings for your own purposes.

Add the following line to sip.config:

nat nat.ip="" nat.keepalive.interval="30" nat.signalPort="5060" nat.mediaPortStart="10000"

  • nat.ip is the external address of the nat device that the phone is behind.
  • nat.keepalive.interval is the interval that the phone will send a keep alive packet to Asterisk. This should be 60 seconds or less. I use 30.
  • nat.signalPort is the port SIP signalling. This should be 5060 unless you are using a goofy port for sip or separate ports for multiple phones.
  • nat.mediaPortStart defines the beginning of the RTP range. Typically RTP is 10000-20000 so I set this to 10000.
Once you have completed these steps the phone should register an make phone calls. If you have any issues at all feel free to post a comment here and we will respond. For further reference you can check out our knowledge base at