Door bell via SIP call with Arduino and Ethernet shield

Since mid of the 90s we had a ISDN PBX at home. This PBX had a port to connect a door bell pushbutton and perform a ring to a defined group of internal phones. Now we switched over to SIP trunk (Sipgate) and a AVM Fritzbox as internal PBX. Unfortunately the Fritzbox does not have such a door bell port, so I had to develop a solution:

– Arduino Uno
– Arduino Ethernet Shield
– Door bell pushbutton triggering Arduino digital input pin via optocoupler
– Performing SIP call to a Fritzbox callgroup (eg **701) when button is pressed
– watchdog to restart Arduino on hangup

During the first tests I found out, the Ethernet Shield tends to hang up after a few hours. Therefore, after pressing the pushbutton the Ethernet Shield will be reset before the SIP call is being performed.
To reset the Ethernet shield I connected a Arduino digital out pin to the reset port of the Ethernet Shield which goes to LOW to reset the shield. Beware, that normally the shields reset pin is connected with the reset pin of the Arduino via pin header. This would do a reset of the Arduino as well. To prevent this, I bended this one pin of the shield to prevent from connecting.
Additionally, I used a 0.5W resistor to drive some power through the pushbutton. I found out, that these kind of buttons tend to have a problem when the current is too low (e.g. because of corrosion).

In the Fritzbox the following needs to be prepared:
– create a SIP user/password for the door bell device
– create a group containing all devices which will ring on door bell press



(on the second picture you can see the reset pin of the Ethernet Shield bond by side)




The device is running for more than one year now and seems to be very reliable.


3 thoughts on “Door bell via SIP call with Arduino and Ethernet shield

  1. Hello Kai!
    The Dropbox link to your source code isn´t working any more.
    Could you please update the link in your articel or send me the zip file via email?
    My email account is xxx.
    I am exactly looking for a solution like this.
    Thank you very much!
    Roger Zink

  2. Thank you very much!
    Would you mind to remove my email from the above post?
    I thought it would be sent as a private email to you.

    Thanks again!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s