title: Create a C++ program that processes incoming calls on a phone-line (land-line)
body: <p>For some time now I've been tossing around what I think is am awesome idea: I want to write essentially a C++ phone server to handle all of my incoming calls on a land-line.  I'll have a white-list (yay never having to worry about telemarketers ever again!), a black-list, and will be able to access my phone using my gaming headset, allowing me to make/answer calls while I'm gaming or whatever.  In the future I'd also like to hook it up to a gui and make it have pop-ups and other cool features.</p>
  
  <p>The problem is, I have no idea where to start.  I'm familiar enough with C++, but have no idea how to go about doing anything with a phone-line.  I can plug a phone-line into my computer, but I have no idea how to get my program to be able to use that connection.  There's WinSock2 for being able to use my ethernet connection,  is there something similar I'd be able to use to use the phone line?  As it's using the same ethernet jack, I wonder if it's even possible to use WinSock2 to use the phone-line?  </p>
  
  <p>I saw this post, which wasn't particularly helpful: <a href="https://stackoverflow.com/questions/1443865/c-api-for-understanding-tone-signals-on-a-phone-line">stackoverflow link</a> , which points out Dual-tone multi-frequency signaling.  I stumbled across this site: <a href="http://www.mathworks.com/products/signal/demos.html?file=/products/demos/shipping/signal/dtmfdemo.html" rel="nofollow noreferrer">link</a>, but isn't really going to help me get started.  </p>
  
  <p>So I was wondering, is there some sort of library out there that would allow me to tap into a phone-line that's connected to my computer? Is there a standard somewhere out there concerning phone-lines and what the different combinations of tone's mean?  Can anyone here help get me started?  I realize it's somewhat of a big undertaking, so any push in the right direction would be greatly appreciated. Thanks.</p>
  
  <p>[Update:]
  I found this <a href="https://stackoverflow.com/questions/2555034/free-modem-dialer">question</a>, which is a step in the right direction, but I'm not sure yet if it helps me (I need to go to bed, and will take a look at it in the morning).  I did see mention of a Microsoft Telephony API though, I'll try doing more research on that tomorrow.  </p>