2010-06-27 30 views
13

¿Es posible leer los bytes directamente desde el módem o la línea telefónica sin perder información? Si usa SerialPort después del timbre no ocurre nada en el evento ReceiveData.cómo detectar identificador de llamadas de la línea telefónica?

Quiero leer la información de identificación de llamadas directamente desde la línea. Mi módem no es compatible con Caller Id.

Respuesta

16

La forma correcta de detectar el identificador de llamadas es usar la API TAPI.

Aquí puede encontrar una biblioteca C# TAPI (llamada ITAPI3). http://www.julmar.com/tapi/

Consulte la entrada del blog del 04 de abril de 2006 para ver algunas notas sobre cómo compilar programas vinculados en Windows de 64 bits.

Y aquí es código de ejemplo:

TTAPI tapi = new TTAPI(); 

tapi.TE_CALLINFOCHANGE += (sender, e) => 
{ 
    if (e.Cause == CALLINFOCHANGE_CAUSE.CIC_CALLERID) 
    { 
     Console.WriteLine(e.Call.get_CallInfo(CALLINFO_STRING.CIS_CALLERIDNUMBER)); 
     Console.WriteLine(e.Call.get_CallInfo(CALLINFO_STRING.CIS_CALLERIDNAME)); 
    } 
} 

tapi.Initialize(); 

// ... 
// Keep the TAPI object in memory so it can listen for events 
// ... 

tapi.ShutDown(); 
Cuestiones relacionadas