2009-07-29 16 views
9

Bonjour Je veux utiliser un modem 56K pour obtenir le numéro de téléphone de qui appelle le téléphone à la maison, y at-il un moyen d'y parvenir avec C#?Comment obtenir l'identification de l'appelant en C#?

+0

Est-ce que quelqu'un avec une connaissance du sujet pourrait relag cette question? –

+1

C'est assez génial, il suffit d'avoir une fenêtre ou quelque chose quand le téléphone sonne. Inconvénient: Qui a un téléphone fixe plus ... – tsilb

Répondre

17

Tous les modems ne prennent pas en charge l'identification de l'appelant. Et pour ceux qui le font, la mise en œuvre varie selon les fabricants.

L'identifiant de l'appelant est transmis à travers les données série, vous devrez donc utiliser le TAPI library (ou l'HyperTerminal de Windows pour le tester). Le numéro d'identification de l'appelant apparaît généralement entre la première et la deuxième sonnerie.

Vous devrez envoyer une commande au modem pour activer l'identification de l'appelant. En règle générale:

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

OK

Consultez la documentation de votre modem.

Lorsqu'un appel arrive, le modem reçoit une chaîne d'appel. En règle générale:.

RING

Ensuite, l'appelant texte ID viendra Si je me souviens bien, il sera sous la forme:

NMBR=XXXXXXXXXX

[Je recherche une référence. Je publierai un lien quand je peux le trouver]

MISE À JOUR: Ah, trouvé un. Consultez cette page pour les commandes et les chaînes de connexion pour modems pour divers:

How to Test a Modem for Caller ID Support

+0

ok je vais l'essayer à la maison, ce sera très bien si vous trouvez une référence.Merci. – zer0w1dthspace

5

Il est possible, mais il y a des choses à ce sujet, vous devriez noter:

  • Vous devez toujours avoir pris en charge par identification de l'appelant votre opérateur/fournisseur. Une ligne POTS de base n'inclura pas cette information à moins que le transporteur n'ait fait un travail supplémentaire pour l'ajouter. Donc, vous ne pouvez pas faire cela pour éviter de payer des frais supplémentaires d'identification de l'appelant.
  • Ce n'est pas intégré dans .Net. Vous devrez appeler la bibliothèque TAPI de base. Je n'ai jamais travaillé avec cette bibliothèque, donc c'est ce que je peux vous dire.
+0

Je suis sûr que ma ligne téléphonique prend en charge l'identification de l'appelant parce que le téléphone affiche le numéro de l'appelant sur son écran. Je vais continuer avec TAPI, merci. – zer0w1dthspace

3

serialPort1.Open(); serialPort1.WriteLine ("AT # cid = 1" + System.Environment.NewLine); // où serialPort1 est le contrôle série pour plus de détails voir le lien suivant: http://www.itworld2.com/frmsCsharp.aspx

+0

heh, ne savait pas que vous pouvez ajouter ces commandes de chaînes avec la méthode writeline .. tnx (le lien ne fonctionne pas bien) –

Questions connexes