You will need the latest modem that supports Caller ID and is supported by Windows. Windows provides an API for talking to a modem called Telephony Application Programming Interface, aka TAPI. Unfortunately, this API cannot be easily accessed from managed code .
Your best bet for gaining access to Caller ID in managed code would be to use one of the TAPI OCX controls that are on top of the TAPI APIs, most of which should have a simple API that will give you an incoming number. Google for something like "TAPI OCX" or "TAPI Caller ID" to find out what is available.
source share