Un filtre téléphonique anti “Dialers” : ne vous faites plus avoir par les pirates du clavier téléphonique !

Cet appareil reconnaît les numéros de téléphone auxquels votre modem tente de se connecter. Il ne laisse passer que les numéros autorisés. Ainsi, il vous protège de tous les programmes (“Dialers”, pirates du clavier) qui, plus ou moins légalement, essaient de dévier la connexion Internet de votre fournisseur d’accès vers un numéro payant (et cher !). Bien entendu, et comme souvent pour nos montages, cet appareil pourra être utilisé dans d’autres applications comme la limitation de l’usage du téléphone pour l’accès à certains numéros seulement (y’a des gamins qui s’ront pas contents !).



Ces derniers mois, un sujet de préoccupation a alimenté les discussions du vaste monde de l’Internet : il s’agit des “Dialers” ou pirates des autoroutes de la communication.
Ce sont des programmes que nous chargeons automatiquement (souvent sans nous en rendre compte) pendant nos navigations et autres “surfings” sur le Net et qui sont capables de modifier (à notre insu !) les paramètres de notre modem afin de dérouter nos appels (en fait, les appels de notre modem) vers des fournisseurs d’accès facturant la connexion à un prix exorbitant.
Vous pouvez constater le phénomène sur certains sites à contenu payant. Lorsque vous voulez accéder à certaines pages, le site vous demande l’autorisation de vous rediriger sur un numéro de téléphone différent de celui de votre fournisseur d’accès. Cette méthode évite l’utilisation de la carte bancaire. Précisons que, dans ce cas, la redirection vers un numéro payant est tout à fait légale puisque vous devez donner votre accord de façon explicite.
Les méthodes pour se défendre contre ces pirates d’aujourd’hui existent : avant tout, il convient de faire attention pendant la navigation sur l’Internet et ne pas charger et exécuter tout ce qu’on vous offre.
Si cela ne suffisait pas, vous pourriez envisager de monter et d’installer le petit appareil totalement efficace que cet article vous propose de construire.

Notre réalisation
Notre filtre téléphonique matériel permet, en effet, de se connecter seulement à des numéros de téléphone ayant été préalablement habilités (par exemple ceux des fournisseurs d’accès et de services Internet connus de nous et dont les tarifs sont annoncés et modiques).
Ainsi, si le “Dialer” (pirate du clavier téléphonique) intervient pour modifier la composition du numéro par le modem, notre dispositif bloque l’appel et nous fait savoir (par le buzzer et le clignotement de la LED) qu’une tentative de connexion à un numéro non habilité a eu lieu.
Notre filtre téléphonique se monte entre le modem et la ligne téléphonique externe, comme le montre la figure 1.
À travers l’analyse des tons DTMF produits pendant l’appel, le dispositif vérifie si le modem cherche à se connecter à un numéro habilité ou non. Dans le premier cas il n’intervient pas et laisse la connexion s’établir normalement, dans le second il coupe le modem de la ligne téléphonique, ce qui bloque l’appel.
L’appareil peut être exploité dans deux modes différents (sélectionnables par l’inverseur Mode) : en mode normal c’est la surveillance proprement dite des appels qui est exécutée, en mode mémorisation il est possible d’entrer les numéros de téléphone autorisés (dont l’appareil ne bloquera pas l’appel), comme le montre la figure 4. Ces derniers sont mémorisés dans l’EEPROM du microcontrôleur par une procédure “d’auto-apprentissage” et sont ensuite utilisés pour effectuer les comparaisons.
La capacité est en moyenne de 12 numéros nationaux (10 chiffres) : voir figure 4 là encore.
L’interface de l’appareil comporte deux prises RJ45 utilisées pour réaliser la connexion entre modem et ligne téléphonique. En outre, on trouve un jack d’alimentation (tension continue d’environ +12 V pouvant être fournie par une petite alimentation secteur 230 V monobloc) et deux inverseurs, un de M/A et l’autre pour sélectionner le mode Norm/Mémo. Pour compléter cette inter face, on trouve encore un buzzer et une LED bicolore utilisés pour signaler à l’usager les événements se produisant (par exemple une tentative de connexion à un numéro non habilité, la mémorisation correcte d’un numéro, etc.). Enfin, à l’intérieur du circuit se trouve un cavalier J1 habilitant (fermé) ou déshabilitant (ouvert) le blocage des appels : J1 fermé le circuit bloque les appels vers les numéros juteux pour les pirates seulement, J1 ouvert le circuit reconnaît encore ces tentatives frauduleuses mais ne les empêche plus, se limitant à les signaler (buzzer et LED allumée en rouge).

Figure 1 : Liaison du filtre téléphonique.

Le filtre téléphonique est à monter entre le modem (interne ou externe) utilisé pour votre connexion à l’Internet et la prise de la ligne téléphonique. L’appareil sait reconnaître (à travers le décodage des tons DTMF utilisés) les numéros téléphoniques auxquels le modem cherche à se connecter : si ces numéros n’appartiennent pas à l’ensemble de ceux ayant été préalablement habilités (mémorisés dans une EEPROM du circuit), le filtre bloque l’appel à la sortie.

Le schéma électrique
La figure 2 donne le schéma électrique complet de l’appareil. Le circuit peut être divisé en deux blocs principaux : la première section, réalisée autour de U3 (MT8870), s’occupe de décoder les tons DTMF. En effet ce circuit intégré, à travers ses broches IN– et GS, s’interface d’un côté directement à la ligne téléphonique (le transformateur TF1 de type 1:1 est utilisé pour découpler la ligne du circuit, C5 et C6 sont utilisés pour filtrer le continu) et de l’autre au microcontrôleur auquel il transmet (par les broches Q1 à Q4 et STD) les codes des tons DTMF décodés.
La seconde est constituée autour du microcontrôleur U2 PIC16F628-EF498, déjà programmé en usine, gérant toute la logique de fonctionnement du circuit.
D’un côté, en effet, une fois qu’il a reçu les codes décodés transmis par le MT8870 (représentant les numéros de téléphone), il les compare avec ceux mémorisés à l’intérieur de son EEPROM : si la comparaison dénonce le numéro appelé comme ne figurant pas dans la liste des numéros mémorisés, le PIC active sa sortie RB7, ce qui commande (à travers T1, si nous considérons que J1 est fermé) l’excitation de RL1 et déconnecte le modem en empêchant l’appel “coûteux”, si en revanche le numéro appelé est bien dans la liste, RB7 se met au niveau logique bas et le relais est relaxé, ce qui permet l’appel. Le microcontrôleur s’occupe aussi de la gestion de la LED bicolore LD1 et du buzzer BUZ1 (signalisation à l’attention de l’usager) et de la lecture de l’état de l’interrupteur DEV2, gérant la sélection du mode de fonctionnement de l’appareil (Norm/Mémo).
Avant de poursuivre, trois petites précisions : la première concerne la présence de R8 et R9. Le recueil des caractéristiques du MT8870 précise que le rapport des valeurs de ces deux résistances peut être exploité pour modifier le gain du décodage DTMF : dans notre prototype ce rapport est de 1 et nos tests n’ont révélé aucun problème. Si, toutefois, votre ligne devait être perturbée, il est possible d’augmenter légèrement le rapport R9/R8 de façon à augmenter le gain et, par conséquent, améliorer le décodage DTMF.
La seconde regarde R2 et C7 : ces composants sont utilisés pour spécifier au MT8870 la durée minimale pour qu’un ton DTMF soit considéré comme valide. Dans notre prototype, nous avons utilisé les valeurs suggérées par le recueil des caractéristiques du circuit intégré et, là encore, nos tests n’ont révélé aucun problème.
Enfin, à propos du mode d’envoi au microcontrôleur des données relatives aux tons DTMF décodés : la transmission se fait par un code binaire à travers les quatre broches Q1 à Q4 du circuit intégré, correspondant respectivement aux broches RB4 à RB1 du PIC. En outre les deux circuits intégrés sont reliés par la ligne STD-RB0 : la broche STD est en effet utilisée par le MT8870 pour signaler qu’il a reconnu un nouveau ton DTMF dont les données sont disponibles sur les broches Q1 à Q4. Par conséquent le logiciel présent dans le microcontrôleur teste continûment son port RB0 : lorsque ce port est au niveau logique haut, le microcontrôleur lit les valeurs binaires prises par RB1 à RB4 dans lesquelles il reconnaît le ton DTMF transmis.
Alors le microcontrôleur attend que STD reprenne le niveau logique bas et ensuite teste RB0 afin de vérifier si un nouveau ton est disponible.
Continuons l’analyse du schéma électrique.
Nous avons vu déjà que la liaison entre modem et ligne téléphonique se fait par RL1 commandé par RB7 : si RB7 est au niveau logique bas, la liaison est réalisée, si en revanche RB7 est au niveau logique haut, RL1 est excité et donc le modem est déconnecté de la ligne téléphonique. La fonction de J1 est donc claire : en effet, si J1 est fermé, le microcontrôleur peut intervenir sur la base de T1 et peut par conséquent commander le relais. Si en revanche J1 est ouvert, le microcontrôleur ne peut modifier la tension appliquée à la base de T1 (tension maintenue basse par R11) et par conséquent le modem demeure connecté à la ligne téléphonique.
La dernière partie restant à analyser concerne l’alimentation du circuit : elle entre par le bornier PWR et doit avoir une tension d’environ +12 V continu. Le régulateur U1 7805, à partir du +12 V, fournit le +5 V utilisé par les dispositifs TTL.
Pour conclure précisons que si le circuit n’est pas alimenté, notre appareil reste éteint et la liaison est toujours réalisée entre le modem et la ligne téléphonique : en effet, tous deux sont reliés par la borne normalement fermée (NC) et le commun (C) de RL1.

Figure 2 : Schéma électrique du filtre téléphonique.

Figure 3 : La signalisation externe.

Cette photo d’un des prototypes de la platine du filtre téléphonique montre, au premier plan, une LED bicolore (on note que ses pattes ont été repliées afin de permettre le montage du circuit dans un boîtier plastique) et un buzzer, tous deux utilisés pour la signalisation à l’intention de l’usager. Le cavalier J1, quand il est ouvert, déshabilite le dispositif d’interruption des appels (voyez le schéma électrique : en effet, si J1 est ouvert, le microcontrôleur ne peut plus agir sur la base de T1 commandant RL1 et donc celui-ci reste fermé et permet la connexion avec n’importe quel numéro de téléphone).

Figure 4 : Paramétrage des numéros habilités.

L’appareil permet au modem de se connecter exclusivement à des numéros de téléphone déterminés : ceux-ci sont préalablement mémorisés dans la mémoire du microcontrôleur présent dans le circuit. Le microcontrôleur PIC16F628 dispose d’une EEPROM d’une capacité maximale de 128 octets : comme chaque chiffre occupe un octet, le nombre maximal de numéros mémorisables dépend de la longueur des numéros (avec nos numéros à 10 chiffres, on peut en mémoriser 12, d’ailleurs tous ne doivent pas nécessairement avoir le même nombre de chiffres).
Voyons comment entrer ces numéros habilités : tout d’abord, branchez l’alimentation et mettez l’appareil sous tension, ensuite reliez à l’une des deux RJ45 un dispositif capable de composer, au moyen de tons DTMF, les numéros de téléphone (le modem ou un téléphone conviennent parfaitement). Mettez l’inverseur Mode/Mémorisation sur Mémo (la LED passe à l’orange) et composez les numéros de téléphone que vous souhaitez habiliter (le dispositif interprète comme la fin d’un numéro le fait que, pendant deux secondes, aucun ton DTMF ne se produit sur la ligne). La mémorisation correcte du numéro est signalée par la LED qui commence à clignoter en vert. Si en revanche le numéro n’est pas mémorisé (par exemple parce que déjà mémorisé) le clignotement est en rouge. Composez donc, un par un, les numéros de téléphone que vous voulez habiliter (mais l’appareil n’a pas une mémoire infinie : dix numéros environ) en attendant au moins deux secondes entre chaque numéro à mémoriser. Quand la mémorisation de tous les numéros est terminée, replacez l’inverseur Mode/Mémorisation en position Norm et reliez l’appareil au modem et à la ligne téléphonique.
On peut aussi effacer complètement la mémoire du PIC : l’opération (que nous vous conseillons d’exécuter avant la première mémorisation des numéros) est faite par le microcontrôleur lorsque, à la mise sous tension, celui-ci trouve l’inverseur Mode/Mémorisation en position Mémo.

Figure 5a : Schéma d’implantation des composants de la platine du filtre téléphonique.

Figure 5b : Dessin, à l’échelle 1, du circuit imprimé du filtre téléphonique, vu côté soudures.

Figure 6 : Photo d’un des prototypes de la platine du filtre téléphonique.

Liste des composants
R1 .... 4,7 kΩ
R2 .... 330 kΩ
R3 .... 4,7 kΩ
R4 .... 10 kΩ
R5 .... 1 kΩ
R6 .... 470Ω
R7 .... 470Ω
R8 .... 100 kΩ
R9 .... 100 kΩ
R10 ... 4,7 kΩ
R11 ... 10 kΩ
C1 .... 100 nF 63 V polyester
C2 .... 470 μF 16 V électrolytique
C3 .... 100 nF 63 V polyester
C4 .... 470 μF 16 V électrolytique
C5 .... 1 μF 63 V polyester
C6 .... 100 nF 63 V polyester
C7 .... 100 nF 63 V polyester
D1 .... 1N4007
D2 .... 1N4007
LD1 ... LED bicolore 5 mm
U1 .... 7805
U2 .... PIC16F628-EF498 programmé en usine
U3 .... MT8870
Q1 .... 3,58 MHz
T1 .... BC547
T2 .... BC547
RL1 ... relais miniature 12 V
TF1 ... transformateur 1:1
BUZ1 .. buzzer avec électronique
DEV1 .. inverseur pour circuit imprimé 90°
DEV2 .. inverseur pour circuit imprimé 90°

Divers :
2 ..... support 2 x 9
1 ..... boîtier plastique Teko Coffer1
2 ..... connecteurs téléphoniques 4 pôles
1 ..... prise d’alimentation
1 ..... boulon 3MA 8 mm



La réalisation pratique
Nous pouvons maintenant passer à la construction de l’appareil. Le circuit tient sur un circuit imprimé : la figure 5b en donne le dessin à l’échelle 1. Vous pouvez le réaliser vous-même par la méthode indiquée dans le numéro 26 d’ELM.
Quand vous avez devant vous le circuit imprimé gravé et percé, montez-y tous les composants dans un certain ordre (en ayant constamment sous les yeux les figures 5a et 6 et la liste des composants).
Commencez par monter les supports des deux circuits intégrés : soudezles et vérifiez vos soudures (pas de court-circuit entre pistes et pastilles ni soudure froide collée).
Montez ensuite toutes les résistances debout sans les intervertir (triez-les d’abord par valeurs). Montez les diodes D1 et D2 1N4007 en orientant soigneusement les bagues repère-détrompeurs respectivement vers l’extérieur et vers BZ1. Montez les condensateurs (en ayant soin de respecter la polarité des deux électrolytiques, leur patte la plus longue est le +). Montez le cavalier J1 (picots et “strap” amovible).
Montez les transistors T1 et T2, méplats repère-détrompeurs tournés vers l’intérieur de la platine. Montez le régulateur U1 7805 couché sans dissipateur et fixé par un petit boulon 3MA. Montez le quartz Q1 debout et pattes bien enfoncées. Montez le transformateur TF1 (sens indifférent), le relais RL1 et le buzzer BZ1 (en respectant bien la polarité +/– de ce dernier).
Montez enfin les deux prises RJ45 (les deux sont identiques), le jack femelle d’alimentation et les deux inverseurs à glissière à 90° pour circuit imprimé (identiques). À la toute fin, montez la LED bicolore à trois pattes, méplat orienté vers C4.
Vérifiez que vous n’avez rien oublié et contrôlez encore une fois toutes vos soudures.
Insérez les circuits intégrés U2 et U3 (sans les confondre !) dans leurs supports, repère-détrompeurs en U orientés vers C6 et C5.
Insérez, si vous voulez, la platine terminée dans un boîtier plastique Teko mod.
Coffer1. Sur l’un des côtés faites cinq ouvertures pour les entrées jack alimentation, RJ45 modem, RJ45 ligne et les commandes des deux inverseurs (l’une des deux, celle de DEV1, étant plus en saillie que l’autre, de telle façon qu’il soit possible de les distinguer une fois le boîtier plastique fermé). Sur l’autre faites un trou de 5 mm pour le passage de la LED bicolore, dont les pattes seront repliées convenablement pour l’adapter à ce trou.

Les essais
Tout d’abord reliez entre eux la petite alimentation bloc secteur 230 V, le filtre, le modem et la ligne téléphonique, comme le montre la figure 1 : vérifiez que l’appareil est bien éteint (regardez la LED bicolore) et éventuellement agissez sur l’interrupteur M/A.
Mettez ensuite l’inverseur Mode sur Mémo et allumez l’appareil avec l’autre inverseur M/A : le PIC efface alors sa mémoire. Regardez la LED : elle clignote en orange. Attendez qu’elle passe au vert : commencez alors à mémoriser les numéros à habiliter avec la fonction d’auto-apprentissage, comme le montre la figure 4. Faites ensuite composer les numéros de téléphone par le modem (ou composez-les manuellement si à la place du modem vous avez monté un téléphone) en vous souvenant d’attendre plus de deux secondes entre la fin d’un numéro et le début du suivant.
Grâce à la LED, l’appareil signale si chaque mémorisation a abouti : clignotement vert = mémorisation réussie, clignotement rouge ou orange = mémorisation non aboutie, soit parce que le numéro a déjà été mémorisé auparavant, soit parce que la mémoire est pleine). Tous les numéros étant mémorisés, mettez l’inverseur Mode sur Norm et testez le fonctionnement de l’appareil.
Pour un premier test, essayez de composer un numéro différent de ceux mémorisés et vérifiez que la LED passe au rouge, que le buzzer sonne et que le relais déclenche (n’oubliez pas : J1 doit être fermé) en coupant le modem (ou téléphone) de la ligne téléphonique.
Second test : essayez de composer, un après l’autre, tous les numéros mémorisés et vérifiez qu’effectivement ils sont reconnus comme habilités par le microcontrôleur (la LED passe au vert), ce qui rend possible la reconnexion du modem et l’appel.
Si l’appareil est éteint, l’action filtrante n’est, bien sûr, pas exécutée (les deux jacks RJ45 modem et ligne sont toujours connectés) : par conséquent tous les appels sont permis… même ceux voulus par les pirates !

À Découvrir

Schema Electronique