Saturday, September 13, 2008

Cisco 7900 7941 hookswitch problems

Personally, I have found more failing hookswitches on 7941 phones than I am comfortable with. The symptom is a fully functioning phone if you use the speaker phone, but the inability to go off hook on, or to switch to the handset.

The official Cisco document entitled "Best Practices for Cleaning and Troubleshooting Cisco IP Phone Hookswitch" indicates the hookswitch is self cleaning, and the contacts use a "wipe action" to self clean the contacts. The suggestion is to flash the hookswitch rapidly "a dozen times or so to clean the contacts".

It appears that a.) they likely have a problem with their hookswitch design, given they have a special document to assist in troubleshooting them, and b.) either their documentation is incorrect, or they have re-engineered the hookswitches.

Here's the hookswitch I found inside my 7941:

I don't see anything self cleaning or wiping about it.

What it is is one of those collapsing rubber nipples that short a contact on a circuit board below it when pressed. Yuck. When the handset is on hook, the nipple is not pressed, so I can't imagine it wearing out. It is at rest most of the time. I also can't see it being affected by the environment (dirt, humidity, etc.) since the rubber nipple seals the area where the contact is made.

The single wire loop in the picture is actually the spring that actuates the hookswitch. Yuck.

PLEASE NOTE: I am not an employee of Cisco, nor am I authorized by anyone to repair Cisco phones. Read at your own risk!

You CAN disassemble a 7941 fairly easily if fixing it yourself is your only option. Please check with your telecom support staff or Cisco partner before to examine other options first.

1. Unplug all the cables from the phone (Ethernet, headset, handset, power, etc.).

2. Remove the footstand from the phone.
a. Press the large button on the side of the phone to recline it all the way.
b. Flip the phone to view it from the back.
c. Use a screwdriver or like to push two "sliders" to the center of the phone. They are located in a groove at the bottom of the footstand, just above the "AUX" port and headset port. These can be quite difficult to move, but when you do, the footstand should fall right off.

3. Remove four phillips head screws from the back of the phone. Two are recessed and previously covered by the footstand. The other two are under the rubber feet at the bottom of the phone. If you take care when peeling off the rubber feet, they can be reattached with the adhesive that remains on them.

4. At the bottom of the phone, separate the front and rear portions of the phone by about a half inch or so. You do not have to separate them more than is comfortable. DO NOT try to break the phone wide open, like a clam.

5. While separated, pull the back of the phone "down" and the front of the phone "up", as if you are separating an Oreo cookie. The idea is to disengage plastic hooks holding the front and back together. If you open the phone like a clam, they will break. You will need to slide the front and back pieces in separate directions about a half inch. If you do it correctly, the front and back will now separate easily.

From there I would suggest:

1. Disengaged one end of the wire spring and straighten it out slightly. When reinstalled, this will create extra pressure on the hookswitch when off hook, creating extra pressure on the rubber nipple thing, and potentially making contact with the circuit board that wasn't being made before.

2. Remove and fiddle around with the rubber nipple. There are 4 rubber tentacles that poke through the circuit board, holding the rubber nipple on. Since it's difficult to get them back through the board, I suspect that they may not have been installed with much care originally. If the nipple wasn't tight against the board, it wouldn't make contact with the circuit board when the phone was off hook.

Steps one and two above ultimately provided me with a once again working hookswitch.

Saturday, September 06, 2008

Run an Access report with a filter built from list box values

So let's say you have a report called "All_Crosstab_2_NoID_LEVEL_Reorder" and you want to run the report using a filter with variables defined by a list box called "lstPlayers".

Here's the code behind a button called "cmdReport1" on a form with the list box. The filter will not exist if no list box items are chosen, will be "Player_ID = 'first selected listbox value'" if only one value is chosen, and will be "Player_ID = 'first selected listbox value' OR Player_ID = 'second selected listbox value' OR ..." if more than one are selected.

Hurray.


Private Sub cmdReport1_Click()


stDocName = "All_Crosstab_2_NoID_LEVEL_Reorder"

'### define basis of query
strPreWhere = "Player_ID = "

bolFirstSelected = False

For iCount = 0 To lstPlayers.ListCount - 1

If lstPlayers.Selected(iCount) Then

'### build report filter for 0 (no strWhere),
'### 1 (bolFirstSelected = False)
'### or more (bolFirstSelected = True) listbox selections
If bolFirstSelected = True Then

strWhere = strWhere & " OR " & strPreWhere & lstPlayers.Column(2, iCount)

Else

strWhere = strPreWhere & lstPlayers.Column(2, iCount)
bolFirstSelected = True

End If

End If

Next iCount

DoCmd.OpenReport stDocName, acViewReport, , strWhere

End Sub


Nothing really new to see here, but I thought someone might appreciate seeing the whole thing spelled out.

Tuesday, July 08, 2008

NEC UltraMail RPC Server Unavailable

The scenario is when starting NEC UltraMail / Voice Mail Administration version 3,0,1,11, you receive errors related to the RPC server being unavailable, and MS Events like "DCOM was unable to communicate with the computer 'YOURCOMPUTERNAME' using any of the configured protocols."

MS will suggest you check a DCOM registry setting to verify what protocols are available, and the entry will be empty. Nice.

That has nothing to do with it.

Search your registry for "DOSGui". You should find an entry like "HKEY_USERS\bunch of cryptic stuff\Software\CTL Inc.\DOSGui\SaveSettings".

The VMSMachineName REG_SZ there must equal your machine name. Do an IPCONFIG /ALL and if your name is MyComputer.MyDomain.Local, enter the "MyComputer" portion only. Change the VMSMachineName to your real computer name.

If your IT department likes to re image machines rather than troubleshoot little application problems, they may be changing machine names or leaving residue from the image sources in your new image. This will break UltraMail.

Friday, June 27, 2008

7921 Factory Reset keystroke

To set to factory settings:

Arrow Down to Settings
Select Phone Settings or press 1
Press **2
Quickly press Yes to confirm (left soft key)

Wednesday, May 14, 2008

CME Call Waiting and Overlay DNs version 2

It's a common scenario:

Two 7941 phones that have a personal extension on button 1 and need to receive general PSTN calls on button 2. The line on button 2 will be shared on both phones. Both phones need to ring on an incoming call. When the a call is answered on button 2, the second call to button 2 needs to ring on both phones. When two calls are answered on button 2, the third incoming call needs to be forwarded to an autoattendant. Any call unanswered (first or second) needs to forward to the autoattendant as well.

The key is creating two ephone-dns with the same number, using huntstop channel on both but no huntstop on one, and preference 1 on the second. Then call-forward noan both to voicemail, but only call-forward busy on the second. Then set call-waiting ring on both. Now, when associating these ephone-dns with an ephone button, use c rather than o.

Below is a sample of two phones with three shared ephone-dns (two numbers) overlayed on button 2. All calls ring all the time unless the button is already handling 2 calls.

Hurray!

ephone-dn 100 dual-line
call-waiting ring
number 2100
label MBL 2100
description MBL 2100
name MBL 2100
call-forward noan 2223 timeout 24
huntstop channel
no huntstop
hold-alert 30 originator
!
ephone-dn 101 dual-line
call-waiting ring
number 2101
label AA Zero Out
description AA Zero Out
name AA Zero Out
call-forward noan 2222 timeout 24
hold-alert 30 originator
!
ephone-dn 102 dual-line
call-waiting ring
number 2100
label MBL 2100
description MBL 2100
name MBL 2100
preference 1
call-forward busy 2223
call-forward noan 2223 timeout 24
huntstop channel
hold-alert 30 originator
!
ephone 4
username "user2104"
mac-address 0000.0000.0000
type 7941
button 1:104 2c100,102,101
!
ephone 6
username "user2106"
mac-address 1111.1111.1111
type 7941
button 1:106 2c100,102,101