Tuesday, March 19, 2013

Cisco CDR delivery failures to billing servers

This is documented all over so I'll skip any narative.  Assume this is just a note to myself....

First location to check for outgoing CDR records by date (03-15-2013):
file list activelog /cm/cdr_repository/preserve/20130315

Locations for records destined for billing servers number 1 and 2
file list activelog /cm/cdr_repository/destination1/20130315
file list activelog /cm/cdr_repository/destination2/20130315

Pull errors via SQL (version 8):
run sql car select count(*) as cnt, error_codes from car:tbl_billing_error group by error_codes order by cnt desc

run sql car select count(*) as cnt, origdevicename from car:tbl_billing_error where datetimeconnect = '0' group by origdevicename order by cnt desc

Cisco VG224 and redundant uplinks

Cisco VG224 and redundant uplinks

Customer was asking about the feasibility of using both FastEthernet interfaces on a Cisco VG224 to provide an additional level of reliability / redundancy to analog voice ports.  Given they are not running a dynamic routing protocol internally, I suggested they rely on spanning tree to make the decisions between what uplinks should be used actively, and modify the configurations appropriately.

Here's my before and after snippets...


interface FastEthernet0/0
 ip address
 duplex full
 speed 100
interface FastEthernet0/1
 no ip address
 duplex auto
 speed auto
ip route


interface FastEthernet0/0
 no ip address  (ip address can't be here anymore)
 duplex full
 speed 100
 bridge-group 1
interface FastEthernet0/1  (this is normally shut, make sure to no shut)
 no ip address
 duplex auto
 speed auto
 bridge-group 1
ip route
interface BVI1
 mac-address 0123.0123.0123  (fictitious)
 ip address  (same IP previously on F0/0)
bridge irb  (Integrated Routing and Bridging)
bridge 1 priority 65535  (make as high as possible to reduce possibility of becoming root bridge)
bridge 1 protocol ieee  (this is standard spanning tree protocol)
bridge 1 route ip  

PsExec and running CMD remotely / on remote PCs

PsExec at http://technet.microsoft.com/en-us/sysinternals/bb897553

This little application may not work in all situations, but it's a time saver when it does.

I needed to verify some IP configuration, run ipconfig, nslookup, ping, etc. on a PC that was miles away and where the user was not going to be cooperative.  The basic challenge was to execute a command prompt on a remote PC without installing software there or interrupting the user.

PsExec is a little executable that allows you to run applications on remote machines without installing client software.  One very cool option is the ability run interactive command prompts, like cmd.exe or ipconfig without user intervention.  There appear to be limitations re: access to network resources on the target PC, possibly user privileges on the remote and target PC, and maybe some antivirus / anti-malware applications objecting to its usage, so tread carefully.

Here's some CLI options from Microsoft's technet page:

The following command launches an interactive command prompt on \\marklap:

psexec \\marklap cmd

This command executes IpConfig on the remote system with the /all switch, and displays the resulting output locally:

psexec \\marklap ipconfig /all

This command copies the program test.exe to the remote system and executes it interactively:

psexec \\marklap -c test.exe

Specify the full path to a program that is already installed on a remote system if its not on the system's path:

psexec \\marklap c:\bin\test.exe

Run Regedit interactively in the System account to view the contents of the SAM and SECURITY keys::

psexec -i -d -s c:\windows\regedit.exe

To run Internet Explorer as with limited-user privileges use this command:

psexec -l -d "c:\program files\internet explorer\iexplore.exe"

Wednesday, March 06, 2013

Windows 2008 R2 RDP MSTSC Sound Redirection

While looking to run Cisco IP Communicator in an administrative RDP session to a Windows 2008 R2 server running in VMWare, I struggled to get  a sound card driver installed to allow IP Communicator to start and redirect audio to the MSTSC client.  This is not supported, and I never got it to work, but having done so would have saved me a long trip to a remote site to make some test calls.  Oh well.

One step in my experiment was to simply allow sound redirection to the RDP session without major server reconfiguration, namely adding the Remote Desktop Session Host server role.  I only need access to the server for administrative purposes and didn't want to add, break or cause any licensing issues that might affect the server and loaded applications long term.

After confirming the client was set to redirect sounds to the local computer, the missing tidbit to get at least the Windows log on audio WAV to play was a relatively minor adjustment on the server.

From the server, run tsconfig.msc.
In the resulting window, right click the RDP-Tcp connection in the Connection table.
Choose Properties.
Click the Client Settings tab.
Uncheck the Audio and video playback option, and the Audio recording option.
Click OK.

My experience is that at this point, you should at very least hear remotely the Windows log on WAV or any Windows alert WAVs when appropriate.

Cisco Unity 8 hear "Your messages are not available now" Exchange 2003 and 2010

Customer was running Cisco Unity 8 and in the process of moving from an Exchange 2003 to 2010 environment   After the majority of users were moved to 2010 and before the Unity partner server was changed, a few users reported receiving voice mail in Exchange / Outlook but not able to retrieve them via the phone.

The symptom was after entering their PIN, they users hear "Your messages are not available now."

These users were migrated to 2010 months ago, and reported hearing the messages after one Exchange 2003 server (not the partner server) was decommissioned.

The Permissions Wizard was run successfully a couple times with out errors, and the mail stores for both 2003 and 2010 looked accurate during the run setup.

The GUSI tool was run to confirm the MAPI CDO version was well above and beyond the required version to support 2010, and confirmed the partner server was still valid.

The DBWalker was run and reported an error on several subscribers, including those with the symptom.  The error indicated a serious error and that TAC should be contacted.  The general feedback was that the message store associated with that subscriber didn't exist in Unity's tables.

After TAC edited some SQL table / rows associated with one user, the DOHPropTool was run to perform a resynch.  After the resynch, the other symptomatic users SQL conflicts could not be found.

You can run DOHPrepTool from the Unity Tools Depot.  The password in my case could be left blank, but previously I have read it it is (100 - current month) & (current month + current day).  See https://supportforums.cisco.com/thread/309734

After it is running, you can choose the AD Monitor button, highlight the Default_Mailbox_Store from the list, and choose the Total Resynch button.

There is no explanation as to why the table element relationships were broken, and the SQL edits were not something you want to attempt without TAC assistance and probably not necessary in hindsight.  The DOHPropTool resynch was the fix.  This may not be the trick for everyone, but thought someone may be interested in the option.