Writing

Software, technology, sysadmin war stories, and more. Feed
Monday, July 9, 2012

Routing around damage without bothering my users

I once did a small workaround with a residential phone line situation which I thought was clever. It all started with a DSL installation. We had the typical setup where voice frequencies are down at the bottom as usual, and the DSL uses stuff well above them. Then there's a splitter box which has a filtered tap so that your DSL's high frequency stuff doesn't get into your phones and so you can't mess it up easily.

I wasn't about to install those dumb in-line filters all over the house, and besides, there was a security system to be considered. It was the first device in-line, and it had a special non-RJ14 jack which meant in-line filters wouldn't work anyway. I had to pick up something which would snap into the demarc (outside telco box) instead. With that installed, it gave me a second set of terminals where I could just hang the existing house wiring, alarm and all.

Splitter

This worked fine for about a year or two, and then one day, something bad happened. On the main house line, there was no dial tone, but the DSL was still up. I went outside and hooked a phone directly to the "raw" version of the line in front of that splitter. It worked, and that seemed to implicate the splitter, so I pulled it out and ran a test with a meter. It had shorted the terminals together for some reason.

I called up the telco people who supplied us with the DSL service and equipment, and they basically said "yep, that happens a lot". Apparently having these things short the line was a common failure mode. They also took that opportunity to tell me that it was out of warranty. Great. I had to go order one myself.

So now I had a problem. I could order one online and wait for it to arrive, but there would be no phone service in the mean time. This was back when land lines were still pretty much expected everywhere, and this number needed to work. I needed a quick hack. It could be ugly, since it only had to last a couple of days until a new splitter could be installed.

I couldn't just put the house wiring straight on the line, since that would kill my DSL. I had tried it that way in the past, and it just would not fly. I couldn't have that out for several days. I needed it.

That's when it occurred to me: the second line. I unhooked the house wiring from the now-dead splitter and hung it on my office line. Now the rest of the house had dialtone again, and our security system would stop beeping about "line cut". It also meant that it would again be able to phone home if someone broke in.

Of course, that didn't help with the number situation. People were going to call that house line, and now with nothing wired up (besides the DSL, which isn't a phone), it would ring and ring and ring forever. Then it occurred to me: I could use my testing phone to dial out on that line from outside and enable call forwarding. Then I'd just point it at my office line.

This completed the circle. Now, incoming calls to the house number would again ring the house phones, and people in the house could also place outgoing calls. Granted, those calls went out with the "wrong" caller-ID data, but for a couple of days, who cares?

Five days later, I got a new filtering splitter in the mail, installed it, and undid my evil hacks. Everything went back to normal. Happily, the DSL never dropped once. I managed to do this work without interrupting that part of the circuit.

Better still, during this, it was life as normal inside the house. Despite the problem which had cropped up, the "users" (family members) did not have to do anything differently. As far as they were concerned, nothing changed. Better still, when things were fixed, they didn't have to change behavior back to normal.

I like this kind of solution when it can be pulled off. Imagine if I had come up with some horrible requirement that anyone placing a call inbound must first dial through a VoIP call router to "select the house", and that anyone calling out would have to "select the office line". That would have been ridiculous! Also, just when people were starting to get the hang of it after 5 days, I'd pull the rug out from under them by putting things back to normal. The error rate would have been atrocious.

Instead, I had the best kind of hack: invisible to the users and truly temporary with absolutely no lasting effects. What luck.