2010-06-27 4 views
13

Est-il possible de lire des octets directement à partir du modem ou de la ligne téléphonique sans perdre aucune information? Si utilisation SerialPort après sonnerie ne se passe rien sur ReceiveData événement.comment détecter l'identité de l'appelant de la ligne téléphonique?

Je souhaite lire les informations d'identification de l'appelant directement à partir de la ligne. Mon modem ne prend pas en charge l'identification de l'appelant.

Répondre

16

La méthode correcte pour détecter l'ID de l'appelant consiste à utiliser l'API TAPI.

Vous pouvez trouver une bibliothèque C# TAPI (appelée ITAPI3) ici. http://www.julmar.com/tapi/

Vérifiez l'entrée du blog du 04 avril 2006 pour des notes sur les programmes de construction liés par rapport à ce programme sur Windows 64 bits.

Et voici un exemple de code:

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(); 
Questions connexes