Mensaje    Asunto: Obtener Numero de Telefono Responder citando

¿Alguien sabe como puedo obtener el Identificador de llamada de Teléfono cuando en el PC tengo un MODEM?

Cualquier ayuda, sería bien recibida.
Gracias.

He encontrado esto en C#
Código:

using System.IO;
using System.IO.Ports;
using System.Text;
using System;

class Program
{
    static SerialPort ComPort;
    static ASCIIEncoding ASCIIEncoder = new ASCIIEncoding();

    public static void OnSerialDataReceived(object sender, SerialDataReceivedEventArgs args)
    {

        //SE ALMACENA EL EVENTO ACTUAL DEL PUERTO EN LA VARIABLE DATA
        string data = ComPort.ReadExisting();
        string ring_date = "";
        string ring_time = "";
        string ring_nmbr = "";


        //OBTENER FECHA PARA ESCRIBIR EL LA BITACORA
        DateTime date = DateTime.Now;
        string dateformat = date.ToString("yyyyMMdd"); //OBTENER EL AÑO MES Y DÍA

        //OBTENEMOS LA LONGITUD DE LAS CADENAS RECIBIDAS POR EL MÓDEM, CUANDO SEA MAYOR QUE 30 CARACTERES
        //SACAMOS LOS DATOS DE FECHA Y NÚMERO DE TELÉFONO
        if (data.Length >= 30)
        {
            ring_date = data.Substring(7, 4);
            ring_time = data.Substring(20, 4);
            ring_nmbr = data.Substring(33, 10);
           

            //SEGEMENTO PARA ESCRIBIR EN BITACORA LOS EVENTOS CAPTURADOS
            string fileName = "C:\\appserv\\Tracer_Log_" + dateformat + ".txt";
            //esto inserta texto en un archivo existente, si el archivo no existe lo crea
            StreamWriter writer = File.AppendText(fileName);
            writer.WriteLine(ring_nmbr + "|" + ring_date + "|" + ring_time);
            writer.Close();
            System.Console.Write(ring_date + "|" + ring_time + "|" + ring_nmbr + "\n");
        }
    }

    static void Main(string[] args)
    {
        string port = "COM4";
        int baud = 9600;
        if (args.Length >= 1)
        {
            port = args[0];
        }
        if (args.Length >= 2)
        {
            baud = int.Parse(args[1]);
        }

        InitializeComPort(port, baud);

        string text;

        //ACTIVAR IDENTIFICADOR DE LLAMADAS
        String ComandoATID;
        ComandoATID = "AT#CID=1";
        ComPort.Write(ComandoATID + '\r');

        do
        {
            //CAPTURAMOS EL TEXTO ESCRITO EN LA CONSOLA
            text = System.Console.ReadLine();

            //ESCRIBIMOS EN LA CONSOLA EL TEXTO CAPTURADO
            ComPort.Write(text + '\r');
        }
        while (text.ToLower() != "q");

    }

    private static void InitializeComPort(string port, int baud)
    {
        ComPort = new SerialPort(port, baud);
        // ComPort.PortName = port;
        // ComPort.BaudRate = baud;
        ComPort.Parity = Parity.None;
        ComPort.StopBits = StopBits.One;
        ComPort.DataBits = 8;
        ComPort.Handshake = Handshake.None;
        ComPort.DataReceived += OnSerialDataReceived;
        ComPort.Open();
    }
}


_________________
Muchos hombres no se equivocan jamás porque no se proponen nada razonable.