I used an Elk Door Bell sensor to monitor my doorbell that goes to an I/O Link Input. The output of the I/O Link goes to the bell. I can create triggers off the I/O Link input (send camera image via text, announce over alexa, etc..) and I can temporarily disable the I/O Link output to disable the bell. (baby sleeping, etc.)
https://www.amazon.com/Elk-ELK-930-Doorbell-Phone-Detector/dp/B0007N72ZGMy Doorbell is perpendicular to my door, so a door bell camera image would suck. I use a 4MP IP Camera in the window next to the front door just below the "No Solicitor" sign. The primary stream (4MP) is recorded on a DVR. The secondary stream (D1?) for texting images, updating control pages, etc.
I experimented with a home-brew 2-way audio using my Indigo server, a 50 foot powered USB extension and a Webcam. The doorbell would launch a script to initiate a FaceTime call between the server an myself. It worked some of the time.