Answer my door anywhere with SIP call using old android phone/tablet, Bluetooth speaker, Tasker and MQTT

This project allows me to answer my door via SIP calls when someone presses the doorbell. These are the prerequisites…

  1. A doorbell that has integrated into HA. It can be a smart switch, buttons, etc… I am using a 433Mhz doorbell with OpenMQTTGateway.
  2. An Android phone or tablet with option to “use Internet calling” “for all calls”. Apparently not all phones have such option. My Xiaomi phones don’t have such options. I manage to find it in my old Samsung Galaxy Tab 7.7. Not sure about other phones.
  3. Install Tasker and MQTT Client into the phone.
  4. Bluetooth speaker with mic such as this one; http://amzn.to/2kpc51W.
  5. SIP/VOIP server. It can be self hosted or from third party. I’m using my existing IP PBX server.

Once you have all these ready, start with the automation in HA…

- alias: 'Door Bell'
  trigger:
    platform: mqtt
    topic: home/doorbell
    payload: 'on'
  action:
    - service: mqtt.publish
      data:
        topic: home/frontdoor/call
        payload: '[SIP number/extension to call]'

Just make sure the publish payload is the SIP number or extension that you want to reach when someone press the doorbell. It can be a ring group number where it will ring multiple extensions.

Next, place the Android phone near the door at indoor. You can mount it on a wall if you wish. If you mount it on a wall, you may consider to use it as control panel for your smart home. Now go to the phone and setup internet calling using the native phone app. The most important part is to select the option to use Internet calling for all calls.

Try call other SIP extension (just number without suffix with server address) using the native phone app. If it goes through, then you are good to go.

Next go to MQTT Client app. Add your broker if you haven’t done so. Then add this topic home/frontdoor/call. Now you are done with the MQTT Client app.

Now open Tasker. Under Profiles tab, click on the + button on the bottom right. Select Event > Plugin > MQTT Client > Message Arrived. Edit the Configuration. Select the topic home/frontdoor/call and enter sipnum for varmessage and topic for varmqtttopic. Click save.

Click back and enter New Task. Give it a name, example: “Call SIP Number”.

Then add new action. Select Phone > Call. Under Number, enter %sipnum and select “Auto Dial”…

Setting in Tasker is done.

Now, you need to mount the Bluetooth speaker somewhere strategic at outdoor. Make sure the power cord is long enough to reach the power source. Turn on the speaker and pair it to your phone/tablet using Bluetooth and you are done!

3 Likes

Your door does not have a camera?

It has. I use Hikvision cam at the door. But it only sends snapshot to my telegram when someone presses the doorbell.

My ideia, was to do the same has you with Asterisk but send it to a phone, a tablet or the TV, with video

Not sure the native phone app can support video call. If can, then you need to mount the phone at outdoor and find ways to secure it.

Curious. If this is just SIP call from your server, same may be accomplished using raspberry pi or any server running SIP software correct?

This is great idea.

I want to do this but use html5 notification.
It send image to notification bar and same link

Yes. You can use asterisk in raspberry pi.

Hey @masterkenobi , i also have a new hikvision intercom, but where do you define the sip extension to be called? I registered the indoor panel to a freepbx server with an extension… But they what? :slight_smile:
Where can I define the extension number to be called when a doorpress event happens?

Thx