- A 21st century implementation of Open Sesame from Ali Baba and Forty Theives!
Most of the apartment communities in big cities in US are gated community, residents need a secure key fob to open the car or building door to enter. Guests who are visiting residents need to call the resident from the directory phone in front of the apartment, so that the resident can open the door remotely from their phone after verifying who is visiting them.
I also stay in a gated community with two other roommates with friends from outside visiting often. So when our friends are visiting us, they would call twice, one from the car door and one from building door to let them in. It was getting cumbersome to take call for each one of them and then press a key to open the door. Also, when my friends are visiting and when they call from directory, it goes to my roommates as it’s his number which has been added to directory and he should be available to answer the call, otherwise I need to go downstairs to open the door. Also another problem is, sometimes we won’t receive call because there is no signal and friends would be waiting outside for someone to let them in and it would be pretty frustrating for them.
So to avoid all this and to make life easier, I created a solution called The Magic Door!
What does this do?
Instead of using one of our numbers in the directory, I created a new phone through Twilio which can be managed programmatically and we have added this number to the directory of our apartment. So when someone calls, we don’t need to answer the call, it is answered automatically by the phone which is running on the server.
It says:
Hello there!
>Press 0 to enter pin.
>> Please enter pin
>>> Correct Pin?
>>>> Send signal to open the door
>>> Incorrect Pin?
>>>> Start over
>Press 1 to call <Friend1>
>> Call <Friend1> phone
> Press 2 to call <Friend2>
>> Call <Friend2> phone
…
Now this new phone acts as the interface between us and our visiting friends. Visitors depending on whom they are visiting, can choose whom to call by the pressing the appropriate key. Also, the cool part is, to our close friends who are visiting often, we created a secret pin which we share with them and by entering that pin, the door open automatically or magically if you like : D So now, we receive call only if someone new is visiting and also the one whose friend is visiting would get the call.
Doesn’t this create a security problem by opening the door automatically?
The secret pin is shared only with our close friends and this can be changed easily by editing a file in the server. So we can create a new pin, every other week or a special pin for a party night and share it with our friends.
How reliable is this? What if the server goes down?
It is pretty reliable, but sometimes if the server goes down, then we would have to go down to open the door or call the leasing office to change the number in the directory. To avoid this, I created a another layer of interface with Google Voice. We have a Google Voice number which is added to the directory and the Google Voice would forward the call to the Twilio number. When the Twilio server or my server goes down, I just need to change the forwarding number from Google Voice and I would receive the call. Once the server is up, I can change it back to the Twilio number.
Just wanted to try something like this and Twilio is uber cool to control phone programmatically. Also, its cool to know that all the key presses on cell phones to make calls are nothing but DTMF signals which are basically sounds from particular frequency. So I just used this by playing a sound to interact with Google Voice and the directory phone.
PS: If you are also facing some problem like this and want someone to help you out, just ping me @ njrahulkanna at gmail.com.
