2009-07-29 12 views
9

Ciao, voglio usare il modem 56K per ottenere il numero di telefono di chi chiama il telefono di casa, c'è un modo per ottenere questo con C#?Come ottenere l'ID del chiamante in C#?

+0

Qualcuno potrebbe avere una conoscenza del soggetto per ripetere la domanda? –

+1

È fantastico, basta avere un popup o qualcosa del genere ogni volta che squilla il telefono. Lato negativo: chi ha una rete fissa più ... – tsilb

risposta

17

Non tutti i modem supportano l'ID del chiamante. E per quelli che lo fanno, l'implementazione varia tra i produttori.

L'ID del chiamante viene passato attraverso i dati seriali, quindi sarà necessario utilizzare TAPI library (o HyperTerminal di Windows per testarlo). Il numero ID del chiamante appare in genere tra il primo e il secondo squillo.

Sarà necessario inviare un comando al modem per attivare l'ID del chiamante. Tipicamente:

AT#CID=1 (o AT+VCID=1)

OK

controllare la documentazione per il modem.

Quando arriva una chiamata, il modem riceverà una stringa di chiamata. In genere:.

RING

Poi il testo ID chiamante verrà in Se mi ricordo correttamente, sarà nella forma:

NMBR=XXXXXXXXXX

[Sto cercando un riferimento. Inserirò un link quando posso trovarlo]

UPDATE: Ah, trovato uno. Check out questa pagina per i comandi e le stringhe di connessione per i modem per varie:

How to Test a Modem for Caller ID Support

+0

okay lo proverò a casa, sarà molto buono se trovi un riferimento. Grazie. – zer0w1dthspace

5

E 'possibile, ma ci sono alcune cose su di esso si dovrebbe notare:

  • si devono ancora avere ID chiamante supportato dal tuo operatore/fornitore. Una linea POTS di base non includerà queste informazioni a meno che il corriere non abbia fatto del lavoro extra per aggiungerlo. Quindi non puoi fare questo per evitare di pagare una quota di identificazione del chiamante in più.
  • Non è integrato in .Net. Dovrai chiamare nella libreria di base TAPI. Non ho mai lavorato con questa libreria da solo, quindi è tutto quello che posso dirti.
+0

Sono sicuro che la mia linea telefonica supporta l'ID chiamante perché il telefono sta mostrando il numero del chiamante sul suo schermo. Continuerò con TAPI, grazie. – zer0w1dthspace

3

serialPort1.Open(); serialPort1.WriteLine ("AT # cid = 1" + System.Environment.NewLine); // dove serialPort1 è il controllo seriale per ulteriori dettagli, vedere il seguente collegamento: http://www.itworld2.com/frmsCsharp.aspx

+0

heh, non sapevo che è possibile aggiungere quei comandi di stringhe con il metodo writeline .. tnx (il collegamento non funziona però) –

Problemi correlati