EM Directory Problems UC 5.3

Posted September 18, 2015 by jeremyrnelson
Categories: Uncategorized

We found what may be a bug in Polycom UC 5.3 – EM Directory didn’t show up as a menu option under Utilities in the web interface.  Upgrading to 5.4 did the trick.  Hope this helps somebody else!

Uninstalling LogMeIn

Posted June 25, 2015 by jeremyrnelson
Categories: Uncategorized

Tags: , ,

We used LogMeIn for nearly 2 years before dumping it in favor of ScreenConnect.  LogMeIn had some nice features, but it was really buggy at times, especially on Macs, and we’ve never been sorry we switched.  They’ve really gotten ridiculous with their pricing over the last year.

One of the things we really hated about LogMeIn was how difficult it was to uninstall and reinstall because of their screwy auto-update process.  After many hours of figuring stuff out, we put together this “brute force” script that more or less gets it ripped out.  It’s not perfect, but it sure beats doing it manually on 300+ machines!  I hope we can save somebody else the pain and make it easier to transition away from LogMeIn.

As an unsolicited plug for ScreenConnect, it’s a perpetual license, and you pay per concurrent license, not per client under management, so we’ll save a bundle.  Some great features include:

  • Super easy entry of interactive commands on one or more guests.
  • Clean and simple uninstall and reinstalls (Macs could be simpler, but still really good).
  • When a machine drops offline, your host connection goes gray and automatically restarts after the machine comes back online.
  • Preview of what’s going on at the guest machine.
  • Reboot into safe mode and ScreenConnect still works
  • Lightweight and easy to push out with group policy
  • Much less cumbersome to start a remote session

There’s a couple of features I’d like to see (FQDN’s in the host listing for one and command results compiled into a common dialog for #2), but those are far outweighed by everything else.

Have fun tearing out LogMeIn!


net stop LMIGuardianSvc
REG add "HKLM\SYSTEM\CurrentControlSet\services\LMIGuardianSvc" /v Start /t REG_DWORD /d 4 /f
net stop LogMeIn
REG add "HKLM\SYSTEM\CurrentControlSet\services\LogMeIn" /v Start /t REG_DWORD /d 4 /f
net stop "LogMeIn Maintenance Service"
REG add "HKLM\SYSTEM\CurrentControlSet\services\LogMeIn Maintenance Service" /v Start /t REG_DWORD /d 4 /f
"C:\Program Files (x86)\LogMeIn\x86\logmein" uninstall
"C:\Program Files (x86)\LogMeIn\x64\logmein" uninstall
"C:\Program Files\LogMeIn\x86\logmein.exe" uninstall
"C:\Program Files\LogMeIn\x64\logmein.exe" uninstall

REM *** MsiExec Uninstalls ***
MsiExec.exe /x{0832D8C1-4A3D-44A8-86CB-1B51EF71ED31} /qn
MsiExec.exe /x{32979D13-6A63-4CAC-A328-60A6624F853E} /qn
MsiExec.exe /x{386625D9-3BD3-45F3-BF41-6A890A913F12} /qn
MsiExec.exe /x{53E10F4E-B361-45D7-8DBD-A6BF073236F0} /qn
MsiExec.exe /x{58CF302E-2281-46D3-BDF0-540B11ADCED2} /qn
MsiExec.exe /x{697E7F08-CB6F-442A-83CD-D44F54654272} /qn
MsiExec.exe /x{6A38EDD8-66E4-4FD1-B7D0-DDC37285F44B} /qn
MsiExec.exe /x{72B46C07-7EB2-4146-9B03-422296E12C4E} /qn
MsiExec.exe /x{7FEA5E41-0106-451E-BC88-71B9CD3B0F41} /qn
MsiExec.exe /I{9905E4C1-14D8-4522-88FE-FD00B51A20DC} /qn
MsiExec.exe /x{A8E20B99-B1A2-4FC0-B38A-A255033D339A} /qn
MsiExec.exe /x{AF17B3CE-F7DA-4DDE-A8C8-7AAADB5CD551} /qn
MsiExec.exe /x{AFBB4CC8-12D3-40B0-BE53-80FA37496C63} /qn
MsiExec.exe /x{CB7AF84A-1B7F-4C6B-8A58-EB7CDE48C23A} /qn
MsiExec.exe /x{D8FDCAEB-351D-4FFF-B1FD-B8C3564C1CAD} /qn
MsiExec.exe /x{F099EA75-A298-4A13-93CB-D2446436B137} /qn
MsiExec.exe /x{F93EE340-3735-4032-8B74-0A3E489017A0} /qn

REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Services\LogMeIn /f
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\windows\currentversion\run\logmein gui" /f
REG delete "HKLM\SYSTEM\CurrentControlSet\services\LMIGuardianSvc" /f
REG delete "HKLM\SYSTEM\CurrentControlSet\services\LogMeIn" /f

REM Only after running the install string for each product should these be deleted
REM(Use the product number referring to logmein)
REM Also in HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
REM ***
reg DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\99B02E8A2A1B0CF43BA82A5530D333A9 /f
reg DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\9D5266833DB33F54FB14A698A019F321 /f

REG delete “HKLM\SYSTEM\CurrentControlSet\services\LMIGuardianSvc” /f
REG delete “HKLM\SYSTEM\CurrentControlSet\services\LogMeIn” /f
REG delete “HKLM\SYSTEM\CurrentControlSet\services\LogMeIn Maintenance Service” /f

Grandstream GXW-4004 configuration file problems

Posted April 12, 2015 by jeremyrnelson
Categories: Uncategorized

I had a frustrating problem where my Grandstream GXW-4004 wouldn’t accept an uploaded configuration XML file.  I ended up turning on syslog so I could see what’s going on and found this:

PROVISION: Failed parsing cfg.xml (Error 217)

Through a series of trial-and-error steps over several hours, I discovered that the dial plan lines were causing the problem (maybe because of the braces { } ?)  Either way, I removed those, the configuration loaded just fine, and I was able to re-add those lines through the interface and get back to work.

Extracting voicemails, prompts, etc. from Cisco Unity Express (CUE) backups

Posted December 13, 2014 by jeremyrnelson
Categories: Uncategorized

Tags: , , , , ,

There is very little explaining how to do this, so I thought I would add what I’ve learned.  We’ve been doing a painful move from a UC560 that never worked very well to FreePBX that’s a lot cheaper and works better.

You have to log into CUE (via the CME “service-module Integrated-Service-Engine 0/0 session” command), then set the backup server and run the offline backup procedure.

CUE backups are basically postgres databases.  If you can FTP the backups from CUE to your machine and strip off the top 16 lines of junk that Cisco adds, you can use pg_restore to restore them and extract the data in a usable format.

Here’s how I imported the VoiceMail backup (you need to run as user postgres) – this gets voicemail greetings as well as saved messages:

tail -n +16 VoiceMail_1.backup > VoiceMail_1.backup.new && pg_restore -C VoiceMail_1.backup.new | psql

Once they were loaded, here’s the line I used to save out all of the wav files:

for lo in `pg_dump aesop  | grep lo_open | cut -d\' -f2`; do echo "\lo_export $lo $lo.wav"|psql aesop; done

Here’s how I exported the user greetings (from LDIF file Core_1.backup):

for wav in `cat Core_1.backup | tr '\n' '\t' |sed -e "s/\t\ //g"|tr '\t' '\n' |grep CCNatWaveFile|cut -d: -f 3`; do ( echo $wav | base64 -d -i > `date +%s%N | cut -b1-13`.wav ); done

My organization was small –  I just dumped all of the wav files and listened to them to name them rather than get fancy and automatically name them properly.  Since we’re moving to FreePBX, I was able to just drop these in place on the new server and be up and running quickly.

This isn’t too terrible if you know what you’re doing, but since there’s very little documentation on this, it makes it quite a pain to figure out…

Cisco 7925G with FreePBX / Asterisk

Posted December 13, 2014 by jeremyrnelson
Categories: Uncategorized

Tags: , , ,

There is not much out there on getting a Cisco 7925G (or 7926) working with FreePBX or Asterisk.  This isn’t intended as a complete guide, but it should help.


1. SCCP is your only option – these phones don’t have SIP firmware available.

2. Set it up on your wireless network, make sure you’re passing DHCP option 66 with the IP of your TFTP server.  Presumably this will be your FreePBX/Asterisk server, but FreePBX doesn’t enable TFTP by default, so you’ll need to enable that so the phone can download its configuration.

3. Install the sccp-b module on your asterisk server (you’ll need to install the asterisk-develop or asterisk11-develop package using yum before you try to compile the sccp-b module.)

4. Here is a basic XML.Default.cnf.xml file:




<member priority=”0″>











Here are some other helpful links:




Disable Work Offline in Outlook?

Posted November 5, 2014 by jeremyrnelson
Categories: Uncategorized

I find it extremely annoying that there’s no good way to disable work offline mode in MS Outlook. In particular, a lot of our customers use Google Apps Sync for Microsoft Outlook (GASMO), and if there’s any blip in connectivity, it switches into Offline mode, and users often don’t notice for hours, and then are frustrated that they’ve been missing mail.

I have written a quick and dirty batch file that stomps in the registry setting to turn all profiles back to online mode. This only works when the user is not running Outlook, but when users are already used to rebooting or logging out and back in when problems arise, it makes for a quick and dirty fix.

This just grabs all profiles, looks for the “magic” key 00030398, and stomps in the binary value for online (02000000). FWIW, 01000000 is offline.

FOR /F “tokens=*” %%A IN (‘reg query “HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles” /v /s /f 00030398 /k ^| findstr “HKEY”‘) DO reg add “%%A” /v 00030398 /t REG_BINARY /d 02000000 /f

I could find little documentation of this online, so I hope others find this helpful. I haven’t checked 2013, but it appears to be the same for 2003, 2007, and 2010 so far.

QuickBooks error H202 when switching to multiuser mode

Posted October 29, 2014 by jeremyrnelson
Categories: Uncategorized

Tags: ,

I’ve been fighting for over a week with a customer’s Quickbooks 2013 that won’t switch into multiuser mode with a database server running on the server.  It gives me an H202 error, and their “Quickbooks File Doctor” is no help – it’s a horrible replacement for the old Network Diagnostics Tool (which, thanks to Intuit tech support, I can link to: http://www.sbitz.biz/QuickBooks_Connection_Diagnostic_Tool_4.0_Download/Nettool.zip ).


I’ve always liked the simplicity of Quickbooks for non-accountants, but unfortunately, Intuit has been milking this cash cow for way too long, and they’re quickly losing ground to competitors.  They should have released a decent cloud solution 3-4 years ago, but Quickbooks Online is still WAY behind the functionality of the desktop version, and from what I can tell, competitors are going to release competitive cloud offerings that are on par with Quickbooks desktop version (and light-years ahead of their horrible cloud offering).

It also wouldn’t be hard to beat Intuit’s tech support, either – I spent 5 hours online with them today, only to have them tell me “I know that our website SAYS that Windows 2012 is supported, but it really doesn’t work”.  Phooey – I have other customers for whom this works fine on Server 2012.


While on the 5 hour phone call with Intuit’s tech support in India, I found some interesting posts about NETBIOS being the source of these problems.  Interestingly, we have NetBios over TCP/IP disabled, so I thought this sounded promising.  After resisting the urge to use Wireshark the problem and foolishly calling Intuit tech support instead, I finally decided to give it a try, and had the problem fixed in 5 minutes.  You’d think I’d learn…

What I found out is that Quickbooks doesn’t use NETBIOS directly, but the SQLAnywhere back end they use on the database server DOES.  It uses the NETBIOS name of the server in order to “listen” for connections. In my case, my workstation is hitting the server and telling it it wants the QB_SERVER.EXAMPLE.COM_23 database, but since SQLAnywhere is listening for QB_SERVER_23, it rejects the connection.

So I suppose there are two possible approaches: 1. Re-enable NETBIOS (ugh!) or 2. Tell SQLAnywhere to listen for QB_SERVER.EXAMPLE.COM_23 on its UDP communications port.  Since #2 is much simpler and cleaner in my opinion from a network standpoint, even though it breaks Quickbooks’ Best Practices,  I went that route.

It’s a simple registry change and service restart.  Change the -n parameter in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\QuickBooksDB23\Parameters to be QB_SERVER.EXAMPLE.COM_23 (where EXAMPLE.COM is your Windows domain), restart the QB services from the services applet, and you should be off and running.

Also, as a side note, when I was on the phone with tech support, they upgraded me from Database server v1 to v15.  No idea if that affected anything – it didn’t solve the problem, but I figured I would point that out.  From what I can tell, the new versions of the database server are backward compatible, so I’m doubting it matters much.


Hope this saves somebody else the pain of calling Intuit tech support in India!