Writing

Software, technology, sysadmin war stories, and more. Feed
Wednesday, July 11, 2012

Call waiting versus callback verifier systems

Here's one for the "problems nobody should have any more" category. Back in the '80s, my dad would occasionally be on call for his company. They had issued a terminal and modem that traveled with whoever had the pager. Once in a while, he would need to actually use it.

Trouble is, this company was relatively paranoid about security and used this thing called "Defender". To get into the system, you had to first call it with your normal telephone and then key in your code. If you got it right, it would talk to you in a stilted voice: "VERIFIED. I. WILL. CALL. YOU. BACK.", and it would hang up on you.

About two minutes later, the phone would ring, and he had to poke the modem to make it do its thing. Assuming everything worked, then he'd be online. It would work... until someone else decided to call us.

Even back in those days, we had call waiting on the line. Our local telco used a particularly nasty implementation which made a huge chunk-CHUNK on the line before playing the tone. Obviously, the modems did not appreciate this, and would bail out immediately. With them off the line, it would then ring with whoever was trying to reach us.

I knew a thing or two about phones from reading various sources, and upon hearing about this, just suggested he use "*70" to disable call waiting. That's when I found out the big problem: it doesn't work on incoming calls. So, he could turn it off for his brief initial call to the Defender voice interface, but the required inbound call would never be safe.

I suspect that if we had three-way calling on that line, then it might have been possible to rig a really nasty hack, assuming that modem spoke AT commands and wasn't relatively stupid. We'd have to set its answer string to something like "ATDT!,*70,R" - basically, dial mode, tone, then flash for a new dialtone (putting the incoming modem call on hold). Then wait a little bit and dial *70 to disable call waiting. This should fall back to the original call by itself after a short delay, hence the second comma. Then go into reverse mode, which basically just makes it act as if you did "ATA" in the first place.

Thinking about it some more, I suppose that first comma might be a W if the modem supported it to explicitly wait for a dial tone instead of dialing regardless. All of this also assumes the incoming Defender call is willing to wait for a while after the call supervises before anything modem-related starts happening.

I really hope this isn't useful to anyone in this day and age.