It has come to my attention that I am not the only person who has this problem, a weird bug that I seemingly could not believe at first when reported by my users. The reports came in that when they were busy on the phones, and they had multiple people on hold, that sometimes, two holding clients would be connected to each other and disconnected by pressing the hold button. I was baffled, “you must be hitting the conference button I said” but no. There is a definite bug in the behavior of the transfer button on the Snom when using Elastix. It works fine with call waiting disabled, but it’s behavior is terrible with multiple lines ringing.
Here is what the button does.
If there is only one line active it places the current line on hold and lets you dial a number or extension then connects the caller to that extension.
If there are multiple lines active, It connects the current active line with the previously active line if two lines are active.
It is trying to do an attended transfer where you hold a call, call the intended recipient, fill them in and press Transfer again to connect them.
BUT HERE IS THE PROBLEM
This means if you get a call, put it on hold to answer a second call and then try and transfer the second call by pressing transfer, it thinks you are completing an attended transfer and connects your two held calls together, causing confusion and anger.
The solution to this problem is a combination of training and disabling or moving the transfer behavior on the phone.
If you have multiple lines active and you want to transfer a call you need a transfer button that just transfers and does not try and be smart and connects your callers. The easiest thing to do is to reprogram the transfer button on the phone in the Snom’s user interface from:
Key_Event:Transfer
to
DTMF:#
Pressing the # key in Elastix activates the PBX’s built in transfer function the voice on the line will say “Transfer” and you key the extension to connect the caller to the intended recipient and disconnect from you.
If you want to you can reprogram the Snom button to be the transfer button’s old behavior as I did and explain the behavior to the user and that they need to place the current call on hold, with the hold button, and then call the intended party and push the snom button for an attended transfer.
Here is the function key screen once reprogrammed.