Is there a way to know (to log) when handset connected to ATA (SPA-112) is put off-hook?

Is there a way for an ATA like SPA-112 to log when a handset is put off-hook? Perhaps by modifying the dial plan to dial a “nul” phone number in that case, which would show up in the devices’s log file? Note that I’m not asking how to have the handset generate a warning tone when its off-hook.
I can log into the ATA and see the real-time status of a line (ie on or off-hook) but no idea when a given line transitioned from on to off-hook.
I’m trying to gain some insight into why an elderly person is INTENTIONALLY putting their handset off-hook, and knowing when (the time of day) they do that.

I’ve always wondered why, during periodic SIP registration, why there doesn’t seem to be any tracking of this condition during SIP registration that a line is off-hook and no active call is underway. Wouldn’t that be an odd situation to be in during SIP registration? The device is not reachable (the line can’t be called) when in that situation even if registration is successful.

1 Like

Putting the handset on or off hook is not a SIP command, so the SIP server (voip.ms) is not informed about it.

Most ATAs can log that information into their local log, or even send the log to a Syslog server. It all depends on the type of events your ATA is configured to log and the level of details (Debug, Information, Warning, Error, etc.) that is set to. I would think that an Off/On hook event would be at the Information or Debug level.

I saw that you also posted this same question in the Cisco Community Forum. I would think that this is where you would get the most useful information.

Have you tried asking the question to ChatGPT, Gemini, Copilot or other AI agent?

I figure I’d post here, I’m not getting a lot of replies on the cisco forum. It’s been my experience that the cisco forum is practically useless when it comes to understanding messages seen in the device logs. Too bad the voip forum on dslreports is gone.

Turning on full debug logging seems to be huge over-kill for the relatively basic event that a handset on/off hook is to an ATA device. AND - no doubt that the verbiage of the log entry would be completely incomprehensible and non-obvious. I highly doubt any AI system can offer an actionable response to my question.

An interesting thought .. adding Ps<:n> to the dial plan (replace s with number of seconds and n with the number to dial) would configure auto-dial. I do not know how many seconds you want to give the person to dial or what the limit of the Cisco command is. You would need to choose a number to be attempted (something that would fail and be logged).

I am not sure the logging will give you the why, but perhaps having the time will help focus the question when you or someone who can ask the elderly person why they are taking the phone off the hook.

Good luck figuring out the issue.

It is sad to learn that the Cisco forum is useless. The SPA112 was an excellent box, very reliable, but has been discontinued to some time now.

In the old days (the days of the elderly person) of the rotary phones, putting the phone off-hook was the only way to avoid being disturbed (the implicit “Do not disturb” feature). I knew someone who, back in the 1980s, was systematically putting the phone off-hook when going to bed and putting it back on-hook in the morning to avoid being awaken at night by an incoming call. Still today, on the traditional landline services, muting the phone is the only way to block calls at certain times. Is this person receiving a lot of robo or scam calls at every hours and he/she is trying to get rid of those? Is the elderly person considered mentally sane? If not, maybe a phone is not indicated for him/her anymore. Is this person living in a retirement home or assisted living facility where an employee can assist you with this surveillance?

I don’t think that any ATA currently on the market will allow logging specifically On-hook and Off-hook events without a ton of other events. The only way I would see that possible is by setting a syslog server to receive all events and configure a filter to retain only the On/Off-hook ones. That would be tedious.

I like the solution of changing the auto-dial feature in the dial-plan (if your ATA supports it) to dial a default phone number after a long delay that would suggest that the phone was put off-hook. You may configure the phone to dial the extension number of a subaccount in your voip.ms account. The routing of that subaccount would be System: Hang up, but it would at least be logged in your CDR. This method, however, would not log the On-hook event.

In this case, maybe the best solution is not technical but at a human level…

Good luck!