Forward Your Landline Apartment Buzzer to your Cell Phone

My partner and I recently purchased a condo in a high-rise building. The door phone (also known as a buzzer, intercom or Enterphone) at the front entrance of the building connects to the landline phone wiring in each unit. When a visitor enters the code listed next to our names on the panel, our landline phone rings. After confirming the identity of the caller, we can unlock the entrance door by pressing a touch-tone button.

The door phone in question.

Of course, we don’t actually subscribe to landline phone service, what with it being 2019 and all. Fortunately, the door phone still works even with the phone service disconnected. However, it does mean that we need to keep a landline phone around that can’t actually make calls, and we don’t have any way to accept deliveries when we aren’t at home.

What if I could somehow hook the phone line up to the internet and forward these door phone calls to our cell phones? Thus begins the adventure…

An internet search led me to this Reddit post which informed me that I would need a SIP phone adapter with an FXO port[1]. Looking to do this on the cheap, I went to eBay and bought a “Linksys” SPA3000[2] for about $25 USD. [3]

Having received the hardware, the next step was to sign up with a SIP provider. I had heard good things about, and so far my experience has been overwhelmingly positive. (Sign up with my affiliate link and receive a $10 bonus credit when you fund your account and place your first call!)

For the minimum functionality of making VoIP calls and forwarding the door phone to our cell phones, we pay only $0.25 per month plus about $0.01 per minute of usage[4]. We are however spending an additional $2.35 per month to add the ability to receive calls and to dial 911 in an emergency ($0.85 for the phone number and a $1.50 e911 regulatory fee).

The rest of this post will document the process I went through to set up the SPA3000 with The exact steps will vary if you choose a different SIP adapter or provider, but this should at least provide a starting point.

The setup

Connect the Ethernet jack on the SPA3000 to your internet router, the Line jack to the phone jack in the wall and plug your phone in to the Phone jack. Once you have signed up for your account, make a note of your six digit SIP/IAX Main Username and choose a nearby server from here. With this information in hand, follow the instructions at the wiki article for setting up the Cisco SPA2100, which is also applicable for the SPA3000.

At this point we have completed the setup for making outgoing calls on the landline phone. You can dial one of the test numbers to confirm this part is working. For example, if you dial 4443, you should hear a recording that starts with “You are about to enter an echo test”; once the recording finishes, everything you say should be echoed back to you. If you haven’t already, now would be a good time to fund your account.

Next, you need to create a subaccount in the admin panel. This subaccount will be used for routing the incoming calls from the door phone. The username of your subaccount will be the six digit username of your main account, followed by an underscore, followed by a name of your choosing. (I used “enterphone”.)

Once you’ve done that, create a Call Forwarding entry for each cell phone number to be called when the door phone rings. Then, create a Ring Group and add each of the Call Forwarding entries to it. You should also add your Main Account if you want the door phone to ring your landline phone as well. Note: if you just want the door buzzer to ring one cell phone, skip the Ring Group and just create one Call Forwarding entry.

Our last task in the portal is to to create a Virtual SIP Number using the three-digit suffix of your choice (I used “000”). Configure the Routing on this DID to use the Ring Group you created previously (or the Call Forwarding entry if you are just routing to one cell phone). Select the same Point of Presence server you chose when you set up the SPA3000.

Finally, go back to the web admin interface of the SPA3000 and click on the PSTN Line tab. You’ll notice the settings here are similar to the ones you saw on the Line 1 tab. Repeat the setup you performed from Step 4 of the wiki article with the following changes:

  • For the Display Name, choose something like “Enterphone”
  • The username and password are the ones for the subaccount you created (e.g. xxxxxxx_enterphone).
  • Set Dial Plan 8 to (S0<:1xxxxxxxyyy), where 1xxxxxxxyyy is your Virtual SIP Number (the x’s are your Main Username and the y’s are the three-digit suffix you chose).[5]
  • Set PSTN Caller Default DP to 8
  • Set PSTN Answer Delay to 0
  • Remember to click Submit All Changes at the bottom of the page

And that’s it! Bring your cell phone to the entrance of your building and try buzzing yourself in.

Some other tasks you may want to complete once everything else is set up:

  • Set a password on the User and Admin accounts in the SPA3000’s web interface.
  • You may want to turn on the option on your Ring Group entries requiring the answering party to press 1 to accept the call. This will prevent someone’s cell phone voice mail from grabbing the call if their phone is off or out of range.
  • If you want to be able to receive calls on your landline phone, order a Local Number DID and assign it to your main account. Optionally add on voicemail and e911.

Disclosure: I may receive a commission on purchases made from links in this post.

[1] FXO, as I learned from this article, stands for “Foreign eXchange Office”. It is the port that receives the analog line from the telephone company (or in our case, the door phone). Contrast with FXS, which stands for “Foreign eXchange Subscriber”, which is the port that provides the analog line.

[2] Given the item was a.) advertised as being in “new” condition despite this model having been discontinued around 2009 and b.) shipped from Shenzhen, China, it is almost certainly counterfeit.

[3] All rates and prices in this blog post are in USD and subject to change.

[4] The Virtual DID is $0.25 per month and incoming usage is $0.004 per minute. Per minute rates on outgoing calls to North American destinations range from $0.0052 (Canada value route) to $0.01 (USA premium route). Call forwarding is billed at the sum of the incoming and outgoing rates.

[5] This section was adapted from this article on Cisco’s site. The (S0<:1xxxxxxxyyy) string is called a Dial Plan. The syntax is documented at this wiki article and some examples can be found in this article on the Linksys site. This Dial Plan implements a “hot line” function which initiates a call to the supplied number as soon as the line is taken off hook, rather than waiting for DTMF tones.

Unstick a remote reboot

Here’s a useful tip if you’ve ever tried performing a remote reboot of a server or workstation running Windows and had the reboot get hung up.

First, some background: you can remotely reboot a machine with the following command:

shutdown /r /m \\computername

Of course, you need to be running as a user with admin rights on the remote machine. Typically, I would follow this with a ping -i computername to confirm the remote machine has rebooted.

Normally, after a minute or two, you’ll see the machine stop responding to ping, and then eventually come back online. Occasionally, though, if the remote machine is having issues, the reboot can get hung up. If you try the command again, you will get the error: A system shutdown is in progress.(1115).

What now? Well, you can try cancelling the reboot with shutdown /a /m \\computername and initiate it again. You might try adding the /f switch to the shutdown /r command, which forces all running applications to exit rather than allowing them to save their data. But what if that doesn’t work either?

PSKill to the rescue. This tool is part of the excellent PSTools suite. Just unzip them to a folder in your path (like C:\Windows). We’re going to take advantage of a useful property of the Windows kernel: it depends on certain processes to be running at all times, and if one of these processes is terminated, the system will immediately reboot. One of these processes is winlogon.exe. Just issue this command:

pskill \\computername winlogon

Note that this is nearly the equivalent of pulling the plug on the machine. I wouldn’t recommend using it unless a regular reboot has failed. And of course if the machine isn’t responding to RPC, then nothing is going to work and you’ll just have to walk over there and mash that power button.

Was this helpful? Know of a better way? Leave a comment and let me know!

Google tweets a link about “encrypting your Gmail” that isn’t about encrypting your Gmail

Google sent out a tweet earlier today with the following text:

An easy way to encrypt your Gmail, from the Ontario Canada Privacy Commissioner (PDF) –

It links to a white paper titled “If You Want To Protect Your Privacy, Secure Your Gmail”. It’s a guide about setting up the FireGPG Firefox extension, or using Thunderbird with Enigmail, right?

Well, no. The paper, apparently co-authored by Google Canada and the Information and Privacy Commissioner of Ontario, explains how to connect to Gmail using an SSL-encrypted connection. This of course is to “encrypting your Gmail” what locking your mailbox is to writing your secret love letters on postcards.

As if the public wasn’t confused and uninformed enough about security and privacy issues relating to email, we now have big companies and government agencies muddying the waters. There is a big difference between “encrypting your Gmail” and “encrypting your connection to Gmail’s servers”, and the paper doesn’t make that distinction clear.

If you *really* want to encrypt your email, check out this Instructables article.

(Thanks to @vigeek for the heads up.)

Sync Facebook Events with your iPhone calendar

Update 2009-08-22: Two new(ish) changes to report! The first is that with the release of iPhone OS 3.0, it is now possible to subscribe to Internet calendars directly from the device. The second is that NuevaSync now offers a premium service which includes push e-mail and up to 50 calendars. I’ve updated my post accordingly.

Update 2009-02-26: I’ve added the steps to set up synchronization using Google Sync to the post.

Update 2009-02-14: Google now provides wireless synchronization capability directly. The instructions for setting it up are here.

nuevasyncI’ve been using a great free service called NuevaSync to wirelessly synchronize my Google calendar and contacts with my iPhone. It’s essentially a proxy to Google’s contacts and calendar services that allows you to synchronize them with any device that supports the Microsoft ActiveSync protocol, including the iPhone and Windows Mobile devices.

When the service first launched, you could only synchronize with Google calendars which you had read/write access to. Recently, however, they have enabled syncing with read-only calendars. This includes services which publish an iCal feed which you have subscribed to in Google Calendar. And since Facebook Events provides an iCal feed, you can subscribe to it in Google Calendar and have the events show up in your iPhone calendar.

Continue reading Sync Facebook Events with your iPhone calendar

The Lysine Contingency

I had a dream last night that I got really drunk at a party, and that when I came to, I had two tattoos. One was on my right bicep, and it was a vertical series of strange graphics interspersed with words like “colour” and “fun”.

On my left bicep was the logo for a ridiculously named metal band—”The Lysine Contingency” or something—written in a blackletter-style typeface.

When I woke up I had to look at both arms, just to make sure that I hadn’t really gotten tattooed. And then I realized I had slept for eleven hours and that I was late for work.

So I’m sitting here on my coffee break trying to figure out how to fit this all into a Twitter status update.

*knock knock* Hello?

Oh, hello, alternate reality self. What’s up?

Hey Ryan, you have a blog and you never write in it. You could totally turn this into a blog entry.

Good call, man. Thanks!

PS: I did a Google search, and of course there’s actually a metal band called The Lysine Contingency! Awesome!

Make links in twhirl open in Firefox on Vista

I’ve been using the twhirl client to connect to Twitter from my Windows Vista computer at work. It’s been great, except that links to web pages were opening in Internet Explorer rather than Firefox, which is my default browser. I had noticed the same behaviour in Pownce as well. Both of these applications are built on the Adobe Air runtime.

I found a knowledge base article at Adobe’s site which recommends setting the default browser in the Program Access and Computer Defaults dialog in Vista. Here are the steps:

  1. Select Start > Default Programs > Set Program Access And Computer Defaults.
  2. Click Continue in the Security Alert dialog box, if it appears.
  3. Select Custom, and then select your preferred browser under Choose A Default Web Browser; click OK.

The problem I had was that Firefox wasn’t showing up as one of the options under Choose A Default Web Browser. The fix for me was to download the Firefox installer and reinstall over top of my existing Firefox installation. After doing that, Firefox showed up in the list.

Note that I had to close Firefox and reopen it after changing the setting for it to take effect. (Before I did that, clicking on links in twhirl had no effect.)


…and that’s how I ended up with the chimpanzee in the trunk of my car.

Are we… We’re live? We’re on?

*straightens tie*

Hello everybody! Welcome to my inter-net web-site! I’d like to tell you about something that’s been on my mind.

I like drinking decaffeinated coffee. People always say “What’s the point?”, but I like the taste of coffee, and caffeine doesn’t agree with me so good. It makes me a little… jumpy.

The problem is, sometimes when you ask for decaf, the waitress/server/barista will pour you a cup of regular coffee by mistake. If I’m getting drip coffee I might notice them grabbing the carafe with the brown handle rather than the orange handle, but that’s only if I’m paying attention. If I’m purchasing a decaffeinated espresso beverage, as is my wont, the magic brown powder typically comes out of one of two grinding machines which, from my vantage point at the cash register, appear to be identical. And once the beverage arrives, there’s no way to tell whether it is decaffeinated or not — until you drink it.

I believe the tall decaf Americano I consumed this evening may not have been decaf after all.

Sooooooooooooooo let’s write a blog post! It’s only been what, almost three months since the last one? Much has happened since then. I was telling you about being on tour. Good times. Oh, hey, remember how in that post I talked about weird coincidences that had happened, and how there was one that I couldn’t remember? Well, I remember it now.

We were on our way into Revelstoke when we were stopped by a flag person who informed us that the highway between Revelstoke and Golden had been closed due to mudslides. It was getting late and we were planning on stopping in Revelstoke for the night anyhow, so that sealed the deal right there.

When we checked into our hotel room we turned on the local news-ticker channel to find out what was happening with the highway. You know the channel, where it’s just scrolling text with ads for area businesses and the audio portion is a retransmission of one of the local radio stations. So we’ve got this channel on and suddenly we hear, “Are you in a band? Are you on tour?” We just stared bug-eyed at each other. It was just an advertisement soliciting artists for some local folk festival, but it felt like CSIS had tapped into the TV in our hotel room to broadcast a message directly to us.

Other tour highlights: the amazing food and hospitality at the Ironwood Stage and Grill. Ditching the band to hang out with the grandparents and catching a flight to the next show — that’s rock star style, baby. Driving the scenic Crowsnest Highway from Lethbridge to Hope.

Alas, all good things must come to an end. Jay Dunphy and the Religion is no more — at least, that particular incarnation. Between that and Annie Nolan and the Ringtones being on permanent hiatus, I am presently bandless. (Or is it “disbanded”?) But who’s got time to play in a band when I’ve got unpacking to avoid? Yes, that’s right, I’ve ditched my boring suburban dirt-cheap student-model two-bedroom basement suite with roommate for an exciting near-downtown more-expensive one-bedroom character apartment (without roommate, obviously).

James Bay is a study of opposites: retirees and young professionals, well-to-do and down-and-out, character homes and highrises, locals and tourists. On one of the first nights in my new place, as I’m unpacking boxes, I’m watching a group of men in their 20s play street hockey in front of my building. Vehicle traffic requires the players to frequently give way. “Car!”, they call out, and a car passes by. “Bus!”, and the bus rumbles past. A clip-clopping of hooves approaches, and — “Carriage!” — as a horse-drawn buggy and its amused passengers make their way through.

Furnishing my apartment has been more of a chore than should reasonably be expected. I’d like to say the universe is conspiring against my efforts to visit IKEA, but it’s really just been poor planning on my part. And why I’m fixated on purchasing furniture from IKEA as opposed to, say, a store that isn’t a ferry ride away, I have no idea.

I’m blaming my friend Jenny. She’s a bit of an IKEA nut. (She recently blogged about this story about the “Hostel IKEA” event in Oslo where 150 people were invited to spend the night on the mattresses in their showroom. She was jealous.) She’s in Ireland right now but I’ll be able to blame her in person when I go to visit next month.

Well, the caffeine is wearing off. Perhaps it’s time to hit “Publish” and call it a night. Tomorrow will be a busy day. I’m going furniture shopping. And maybe a side trip to Starbucks.

Tour 2007 – Day 5

On the road. Typing this on my laptop in the back seat of Allan’s Dodge Caravan, the cargo area packed to the roof with drums, amps, and guitars. Surrounded on all sides by the majestic Rocky Mountains. Taking the Canmore exit to pick up some breakfast before we head on to Calgary.

Played the Rose and Crown in Banff last night to a mildly appreciative audience. Some drunk guy named Paul comes up to Josh between sets and asks if we know any Rolling Stones songs. “My favourite is ‘You Can’t Always Get What You Want’, man.” As it turns out, we actually do cover that song and it’s in our second set. Just the latest in a series of strange coincidences that includes Josh summoning a police officer through sheer force of conjecture, finding a television show about the ability of elephants to detect subsonic vibrations with their feet after discussing that very thing that afternoon, and something else which I cannot recall at the moment.

Anyways, just before we play the song, Jay asks me, “Should we invite Paul up to sing?” I reply in the negative; Jay invites him up anyways. Sometimes Jay is right. Paul can’t sing worth a damn but his wild gesticulations are entertaining.

As we are packing up our instruments, another inebriated patron — a cute girl there with her boyfriend — asks us if we could play a few more songs. “Sorry,” I reply, “but if you buy our album, you can listen to us play whenever you want.” “Don’t be smart,” comes the boyfriend’s retort. “No, you know what? I am going to buy your album,” the girl declares. Sweet. I’m not above manipulating drunk women to further our band’s financial aims.

“All right, blow me,” Jay has just demanded. This is the routine we go through whenever Jay needs a smoke: his request is fulfilled by the driver turning on the blower and opening the vent. This combined with Jay opening the fold-out window in the sliding door helps keep smoke in the vehicle to a minimum.

Back to last night. I walk over to the merch table to grab a CD. By the time I get back to the girl, “Break On Through” by The Doors is playing, and she’s dancing with her boyfriend. Damn, cockblocked by Jim Morrison. We load up our gear and Allan, Josh and I head to the band house while Jay waits to get paid. When 3am rolls along and Jay still hasn’t shown up, we launch a search party. Turns out that Jay was getting drunk(!) with the staff back at the pub.

We did manage to sell a couple albums that night. That’s two more than we sold the night before, when our audience numbered around ten patrons. Of course, it probably didn’t help that we didn’t bother to set out the merch. A sample of my witty on-stage banter that night: “You’ve heard of hotels with vibrating beds? Last night we stayed in a vibrating room.” It was kind of true; our suite at the Canyon Motor Inn in Revelstoke was directly above a noisy steam valve that sounded at regular intervals. Jay and I went for dinner at the restaurant in the nearby Best Western that night. My Mediterranean chicken was delicious, except they forgot the chicken. “Must’ve flown away,” the waitress quipped. A small dish of sautéed chicken was eventually procured.

No Jay Dunphy tour would be complete without the coining of numerous euphemisms. Trout figured heavily into last year’s lexicon. Some entries from the current tour glossary: baking a Walnut Crunch, dumping the puck in for Buffalo, riding the steel horse, the Bronx Johnny, visiting the hatchery (another trout reference sneaking its way in). I’ll leave their meanings up to your imagination.

Our first two shows were a kind of exchange program with The Shine On from Vancouver. They opened for us at Steamers on Thursday, and we opened for them on Friday night at a coffee house/pub called Café deux Soleils in Vancouver. Good turnout and an appreciative audience at both. Lots of my friends came out to the Vancouver show which is always nice. Due to a miscommunication some of them missed most of our set, but c’est la Facebook. Big props to Jess and Rob for the burgers and corn that night.

We’re in Calgary now, relaxing at Jay’s sister’s place and stealing her neighbour’s Internets. Tonight, we shall rock off the faces of all the good people at the Ironwood Stage and Grill. Tomorrow Jay plays a solo acoustic set in O’Byrne’s Pub in Edmonton, then we head for St. Albert for a two-night stand at the Castle Rock Pub.

There, I’ve updated my blog! Is everybody happy now?