I recently have had prospective clients ask about HD voice/G.722, so I figured I’d experiment and see if it’s supported in Elastix.  Turns out Elastix 2.3+ certainly supports G.722, and it’s quite simple to enable without using the command line or manual configuration of .conf files.  There’s a noticeable quality difference with G.722 versus G.711 with the same bandwidth overhead as G.711.  Note that few SIP providers support HD voice to the PSTN.  I use Vitelity pretty much exclusively for my trunks and they max out at G.711.  Callcentric and other providers support SIP to SIP trunking with G.722.

To enable G.722 in your Elastix system perform the following steps:

  1. You’ll need to enable the unembedded FreePBX interface first.  Logon to Elastix and pull down the right arrow as shown below, selecting “Security”elastix_security
  2. Select “Advanced Settings” in the “Security” menu.  Turn the slider on to enable the FreePBX admin and assign a password to it.elastix_advanced
  3. Now that you’ve enabled the FreePBX web admin, go into it by selecting the “PBX” menu at top, and clicking on “Unembedded FreePBX” on the bottom left.unemb_freepbx
  4. Logon using the username “admin” and the password you assigned in step 2.
  5. Once logged into the FreePBX web admin, click on the “Tools” tab and “Asterisk SIP Settings” as shown below.elastix_freep
  6. At the “Asterisk SIP Settings” screen, unselect ALL codecs and click “Submit Changes”.freep_sip
  7. VERY IMPORTANT!  You will now be adding codecs ONE AT A TIME in order of preference.  First select “g722” and select “Submit Changes”.  Then select each codec individually (again ONE AT A TIME) in order of preference.  i.e. “ulaw”, then “Submit Changes”, “alaw” then “Submit Changes”, “gsm” then “Submit Changes”, etc.
  8. Once this is complete you can click the “Apply Settings” on the orange bar at top.  You should see the codecs in the order you selected them, like this with “g722” as the left-most, highest priority entry:freep_select_cod
  9. Ensure that your phones have the G.722 codec enabled and are the first preference (must support HD voice, or G.722).  I use a Cisco SPA504g and it supports it, as do many newer SIP phones.  ATA devices DO NOT support G.722!
  10. Test your installation to make sure your phone is using the codec, by logging into your Elastix box via SSH.  Make a call to voicemail, a conference bridge or whatever on your system and keep it active for the next step.
  11. While on an active call call, run the command “asterisk -r” and then do a “sip show channels”.  If your phone is using G.722 you’ll see this in the output like below (notice extension 1200 is using codec/format g722):Screen Shot 2013-01-22 at 1.38.36 PM

That’s it, you’ve successfully enabled G.722 – let me know your thoughts in the comments section!  Enjoy!

Note: once you’ve enabled g722 in FreePBX you can turn it off in Elastix, Security.

Tagged with:  

I wanted to install a clean virtual instance of Windows 8 after purchasing the $40 upgrade from the Windows website, and encountered the dreaded “Windows 8 Pro Upgrade Product Key can’t be used to activate Windows after a clean install” when attempted to activate it.  Doing a quick Google search, I stumbled upon a great write up at the Microsoft answers website here.  Thanks to the expert tutelage of “BinaryInk” I was able to successfully work around the issue.

The instructions, are as follows:

  1. Run the registry editor (regedit) 
  2. Find the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OOBE 
  3. Change the value for ‘MediaBootInstall’ from 1 to 0 
  4. Open an elevated command prompt (run as admin) 
  5. Run the following command: slmgr -rearm 
  6. Reboot

Using the above instructions, Windows 8 was successfully activated after the reboot.  Thanks BinaryInk!

Modifying ghettoVCB to run on VMware ESXi 5.1

On September 14, 2012, in Technology, by Mike Waldron

UPDATE: William Lam has put out a 5.1 compatible version of ghettoVCB.  Click here to download!

I went to roll out a new VMware server, grabbing the fresh ESXi 5.1 build. When implementing ghettoVCB I observed that the /bin/busybox location is no longer valid, and that rc.local is no longer editable. Not only that, but because William Lam hasn’t yet updated ghettoVCB to include the 5.1 version, the script won’t even run on 5.1. Turns out the rc.local injection needs to happen in “/etc/rc.local.d/local.sh”.  Also, because busybox has moved you need to change the injection script as follows:

/bin/kill $(cat /var/run/crond.pid)
/bin/echo "0 6 * * 0 /vmfs/volumes/backups/ghettoVCB/ghettoVCB.sh -a > /vmfs/volumes/backups/Logs/backup.log" >> /var/spool/cron/crontabs/root
/usr/lib/vmware/busybox/bin/busybox crond  

And you need to place the script above in “/etc/rc.local.d/local.sh” versus the old “/etc/rc.local” file.

Additionally you’ll need to modify the version check part of ghettoVCB.sh as follows (see bold portion):

        ESX_VERSION=$(vmware -v | awk '{print $3}')
	if [[ "${ESX_VERSION}" == "5.0.0" ]] || [[ "${ESX_VERSION}" == "5.1.0" ]]; then
        elif [[ "${ESX_VERSION}" == "4.0.0" ]] || [[ "${ESX_VERSION}" == "4.1.0" ]]; then
                ESX_VERSION=$(vmware -v | awk '{print $4}')
                if [[ "${ESX_VERSION}" == "3.5.0" ]] || [[ "${ESX_VERSION}" == "3i" ]]; then
                        echo "You're not running ESX(i) 3.5, 4.x, 5.x!"
                        exit 1

The above steps got ghettoVCB running for me on 5.1.
UPDATE: William Lam has put out a 5.1 compatible version of ghettoVCB.  Click here to download!

Tagged with:  

I’ve recently been moving many clients to Office 365, and ran into a small problem for a particular client when performing a migration from an existing in-house Exchange server. Many users in the domain were failing migration, and gave the following error:

Failed to update one of the recipient properties. Couldn’t find a user or contact with identity “/o=Company/ou=First Administrative Group/cn=Recipients/cn=user”

This error in my case was caused by the manager field in the Active Directory being populated with the “user” common name (CN) quoted above.  Removing/clearing the manager field fixed the issue and once the migration batch was re-run the users got migrated just fine.  You can find the “Manager” field for a user in the “Organization” tab in Active Directory.

Thanks to Marcel at the MS Community forums for posting the fix!


Using Emoji with Mac Messages or iMessage for Lion

On August 17, 2012, in Fun, Technology, by Mike Waldron

Yes, it’s very possible to use Emoji with iMessage without any special add-ons or app purchases.

While in Messages for Mac or iMessage, hit Command + Option + T (or select Edit, Special Characters from the Messages Menu) to bring up the “Special Characters” menu and select Emoji on the left.  I’ve confirmed that iPhone users can see the Emoji characters on their devices just like you are using it from your iDevice.


Tagged with:  

Some USB Ports Not Working on Hackintosh – FIXED!

On August 2, 2012, in Technology, by Mike Waldron

I recently upgraded my Dell Precision 390 hack build to Mountain Lion.  Only 2 of the four USB ports were working in the rear, while in Lion they all worked fine.  Then I remembered that I almost always remove AppleHPET.kext from my Hackintosh builds.  Sure enough that was all it took.

Delete AppleHPET.kext (this is frequently a problematic kext when it comes to customac builds).
Ironically, I first found this fix way back in Leopard to fix slow USB speeds.

Using Finder, copy the Kext to the desktop or somewhere as a backup. Better be safe than sorry!
sudo rm -r /System/Library/Extensions/AppleHPET.kext

Make sure to update your kext cache as well.

All ports working – yay!

Web Hosting