Friday, September 26, 2008

Unity 5.X default template

Before you get excited and add all your Unity subscribers, please take a moment to at least review the default subscriber template.

Other than maybe changing default passwords if you haven't thought about it during the install, you may notice interesting items in the call transfer section.

The default for all types (standard, closed, alternate) is "No (send directly to greeting)". Check the "Yes, ring extension for:" if you really need most mailboxes to transfer to lines. Then build them.

Wednesday, September 24, 2008

Altigen OE 4.5 Agent Log Out on Reboot

For those of you happy with and hanging on to your old Altigen software level, here's a tip for when you need to rebuild.

On 4.5, agents are logged out of workgroups when a system reboots. There is a registry setting to maintain their status, or even automatically log them all in after a reboot.

The key is located at:

HKLM\Software\Altigen Communications Inc.\Altiware\DisableAgentAutoLogout

0 = logout all agents on reboot (default)
1 = maintain agent login status
2 = login all agents after reboot (this is what older versions did)

You need to edit the key and reboot the server (not just restart the services).

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.


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)


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.