Domanda

Ciao, voglio usare il modem 56K per ottenere il numero di telefono di chi chiama il telefono di casa, c'è un modo per farlo con C #?

È stato utile?

Soluzione

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

L'ID chiamante viene passato attraverso i dati seriali, quindi dovrai utilizzare libreria TAPI (o HyperTerminal di Windows per testarlo). Il numero ID chiamante viene in genere visualizzato tra il primo e il secondo squillo.

Dovrai inviare un comando al modem per attivare l'ID chiamante. Tipicamente:

  

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

     
    

OK

  

Controlla la documentazione per il tuo modem.

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

  

ANELLO

Quindi verrà visualizzato il testo dell'ID chiamante. Se ricordo correttamente, sarà nel formato:

  

NMBR = XXXXXXXXXX

[Sto cercando un riferimento. Pubblicherò un link quando lo troverò]

AGGIORNAMENTO : Ah, ne ho trovato uno. Dai un'occhiata a questa pagina per i comandi e le stringhe di connessione per vari modem:

Come testare un modem per il supporto dell'ID chiamante

Altri suggerimenti

È possibile, ma ci sono alcune cose che dovresti notare:

  • Devi comunque avere l'ID chiamante supportato dal tuo operatore telefonico / provider. Una linea POTS di base non includerà queste informazioni a meno che il corriere non abbia fatto un lavoro extra per aggiungerlo. Quindi non puoi farlo per evitare di pagare una tariffa ID chiamante extra.
  • Non è integrato in .Net. Dovrai chiamare la TAPI di base. Non ho mai lavorato con questa biblioteca da solo, quindi è quanto posso dirti.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top