Computer interface audio à fil à base de réseau téléphonique
Colin Fahey

Un ordinateur peut faire la voix des appels téléphoniques en utilisant n'importe quel modem et un simple circuit.
1. Introduction
Ce document décrit la façon d'utiliser tout modem conventionnel et un simple circuit de donner n'importe quel ordinateur personnel (PC), avec n'importe quel système d'exploitation, la capacité de placer des appels téléphoniques mai que l'interaction des voix.
Un simple modem est utilisé pour activer le téléphone par fil « de faire du hors crochet, » et plus tard la libération des fils de téléphone en allant « sur le crochet (raccrocher). »
Un simple circuit électrique est utilisé pour donner tout périphérique audio, comme une carte son ou de son interface d'un ordinateur personnel (PC), l'accès aux signaux audio sur un fil téléphonique.
Ainsi, un ordinateur personnel (PC) peut initier une connexion à un numéro de téléphone, puis attendre pour un humain ou un système automatisé de réponse, puis engager une conversation fondée sur la parole ou d'autres sons.
Ce document est destiné aux amateurs intéressés par l'apprentissage d'une peu de choses sur les exigences électriques et le protocole d'interaction avec la Central Office (CO) d'un fil relié au réseau téléphonique aux États-Unis (US).
Il existe de nombreuses technologies pour permettre aux gens d'interagir avec les systèmes basés sur la voix par téléphone.
Il existe de nombreux produits commerciaux et des services offerts à traiter avec tout ce téléphone interaction avec une base de données d'entreprise.
Il est assez facile de trouver du matériel pour traiter de nombreux appels téléphoniques à un numéro unique.
Téléphonie a élargi à l'Internet, avec des protocoles comme « Voice over Internet Protocol » (VoIP).
Ordinateurs n'importe où dans l'Internet peut être configuré pour interagir avec VoIP grâce à la reconnaissance vocale et la synthèse de la parole.
Ces ordinateurs peuvent éventuellement suivre conversation vocale diagrammes XML exprimées dans des fichiers texte (Voice XML).
Ce document n'a rien à voir avec une quelconque de ces solutions pratiques au problème de l'automatisation de l'interaction vocale avec une entreprise ou organisation.
Ce document est destiné aux amateurs de divertissement avec de petits budgets.
2. Avertissements
La construction d'un circuit électronique, et de la connexion à un réseau téléphonique, implique de nombreux risques.
Vous êtes responsable de l'apprentissage de toutes les lois, les dangers et les risques que mai.
Ce qui suit est une liste de quelques-unes des questions que vous devez tenir compte si vous êtes intéressé par la construction et l'essai d'un circuit similaire à celui présenté dans cet article:
1. Toutes les informations sur les spécifications électriques du service téléphonique est valable uniquement aux États-Unis (US).
2. Sonnerie tension sur les fils de téléphone (90 volts) peut blesser les gens.
Ou la foudre tombée fils électriques peut conduire à des tensions sur les fils téléphoniques qui peuvent blesser des personnes.
3. Vous êtes responsable de tout dommage compagnie de téléphone circuits causés par votre utilisation de dispositifs non autorisés dans votre maison ou bureau.
4. L'enregistrement des conversations téléphoniques sans l'approbation explicite de toutes les parties en cause est contraire à la loi.
(... À moins que vous êtes le gouvernement! Sinon, procédez comme ils disent, et pas comme ils le font!)
5. Vous êtes responsable de tout dommage à votre ordinateur causé par la connexion de votre propre circuit à votre ordinateur.
6. Vous ne pouvez pas vendre un produit destiné à être utilisé avec un réseau téléphonique sans l'approbation du FCC.
Ce document est seulement une description de mes expériences personnelles.
Vous êtes responsable de l'apprentissage sur les lois et les risques émanant de sources faisant autorité.
3. Téléphone interface audio Circuit
Le but du circuit décrites dans cette section est de permettre l'enregistrement audio classiques de lecture et d'équipement, comme une carte son ou le port audio sur un ordinateur personnel (PC), d'envoyer et de recevoir des contenus audio sur un fil de terre classiques (filaires) raccordement téléphonique.
Le fil téléphonique et l'équipement audio ne sont pas directement connectés, le couplage n'est que par les transformateurs.
Les deux parties de l'interface sont protégés contre les excès de tensions.
Les signaux sont limitées à une gamme de fréquences (bande passante) pour les téléphone audio (300 Hz à 3500 Hz).
Le circuit ne dispose que de composants « passifs; » toutes les conditions de tensions sont externes.
Le circuit doit être utilisé en conjonction avec un modem, téléphone, ou autre circuit capable de faire du « hors crochet » (ce qui porte la résistance du fil suffisamment bas pour indiquer à l'Office central (CO) que le fil est en cours d'utilisation).
Il serait futile d'ajouter un « crochet au large de » l'aspect de ce circuit, mais ayant un circuit à tous est déjà un grand obstacle pour de nombreux amateurs.

Aspect de l'ensemble du circuit

Apparence de la carte de circuit imprimé

Schéma du téléphone circuit d'interface audio
Vous pouvez construire le dispositif presque exactement comme il apparaît ci-dessus si vous faire les investissements suivants:
1. Assurez-vous que vous avez des outils de base: Tournevis, fer à souder, couteau;
2. Visitez Radio Shack, l'achat d'articles énumérés ci-dessous, pour 29 $ après impôts;
3. Visitez n'importe quelle quincaillerie, l'achat de deux écrous, boulons, rondelles, pour $ 1.
4. Passez environ quatre heures la construction du circuit selon le schéma;
Si vous n'avez pas l'expérience de construction des circuits électroniques, soudage, le perçage des trous et des mesures électriques, ne pas faire de ce votre premier projet!
La seule personne qui doit essayer de construire ce circuit est la personne qui connaît déjà pour sûr qu'il ou elle peut le construire!
4. Radio Shack: l'omniprésence électronique magasin
Radio Shack est une entreprise de l'électronique avec les magasins à travers le monde. On trouvera ci-après un lien vers leur site Internet:
Sur leur site Internet une personne peut trouver un lien nommé « Electronic Components », ce qui conduit à leur catalogue de composants électroniques et les documents correspondants.
Une personne peut trouver des prix des pièces.
Une personne peut obtenir une liste des magasins les plus proches, et des cartes.
Pièces peuvent être commandés en ligne.
J'ai décidé de construire mon circuit simple en utilisant Radio Shack parties parce que cela signifie que quelqu'un d'autre au monde ne peut facilement reproduire mon travail.
Aussi, toute partie offerts par Radio Shack est pratiquement assuré d'être disponible pour de nombreuses années à un faible prix.
Voici une liste des parties I Radio Shack utilisé pour construire le circuit, avec les numéros de catalogue:
| Qty | Description | Serial # | Price | Total |
| 1 | Project Enclosure (6"x3"x2") | #270-1805 | $ 3.79 | $ 3.79 |
| 1 | Surface Mount Modular Jack (RJ11/RJ14) | #279-0202 | $ 4.99 | $ 4.99 |
| 1 | 3-Conductor Stereo 1/8th" Phone Jack (Pkg.2) | #274-0249 | $ 2.99 | $ 2.99 |
| 1 | Component PC Board (71x94mm), 750 holes | #276-0158 | $ 2.99 | $ 2.99 |
| 2 | Audio Isolation Transformer (1:1) | #273-1374 | $ 3.99 | $ 5.98 |
| 2 | Metalized-Film Capacitor 1.0uF, 250WVDC | #272-1055 | $ 1.49 | $ 2.98 |
| 1 | 2.2K ohm 1/2W 5% Carbon Film Resistor (Pkg.5) | #271-1121 | $ 0.99 | $ 0.99 |
| 2 | 1N4733A, 5.1V, 1.0W Zener Diode (Pkg.2) | #276-0565 | $ 0.99 | $ 1.98 |
SUBTOTAL: $26.69
TAX: $ 2.07 (California 7.75% sales tax)
TOTAL: $28.76
5. Ace Hardware: pas si omniprésent quincaillerie
J'avais besoin de boulons, rondelles, écrous et de fixer une prise de téléphone au boîtier en plastique de mon circuit.
Je suis allé à Ace Hardware, mais je aurait pu aller à Home Depot, ou peut-être même un supermarché, pour trouver des pièces similaires.
| Qty | Description | Price | Total |
| 2 | Bolt No.8-32 4.2mm-32 | $ 0.17 | $ 0.34 |
| 2 | Washer No.8 | $ 0.10 | $ 0.20 |
| 2 | Nuts No.8-32 2" | $ 0.10 | $ 0.20 |
SUBTOTAL: $0.74
TAX: $0.06 (California 7.75% sales tax)
TOTAL: $0.80
6. Outils et accessoires
Le tableau suivant présente certains des éléments dont j'avais besoin pour la construction et l'utilisation du circuit:
| Soldering iron | $ 5.00 (approx) |
| Solder | $ 3.00 (approx) |
| Precision knife | $ 3.99 |
| Wires | $ 1.00 (approx) |
| Telephone extension cord #279-0374 | $ 5.79 |
| Male-Male mini-phono 6' extension cord (qty.2) | $ 3.00 (approx) |
| Four-wire 3-way coupler (RJ11/RJ14) #279-0447 | $ 4.99 |
7. Commentaires sur le circuit
Je ne suis pas un ingénieur électricien.
J'ai étudié différents circuits de téléphone (voir les références figurant à la fin de cet article), et divers éléments extraits à l'appui de ma propre conception des objectifs.
Si vous êtes vraiment désespéré, et le risque pour votre PC n'a pas été un facteur, vous pouvez connecter un fil téléphonique à votre son port en utilisant seulement une paire de condensateurs!
C'est une très mauvaise idée, parce que la sonnerie de tension, et la possibilité aléatoire pointes de tension sur le fil téléphonique, peut endommager les dispositifs non protégés.
Les diodes Zener dans mon circuit court-circuit des tensions excessives.
Notez que ils font face à des directions opposées, de sorte que, pour une tension appliquée avec une polarité, une diode Zener est sur le point de conduite en cours normalement, et l'autre est sur le point d'inversion de ventilation devrait dépasser la tension de sa notation (par exemple, 5.1 V) .
Ce n'est que lorsque la tension dépasse une inversion de la tension de claquage de l'une des diodes de Zener le couple en fin de compte à permettre aux flux, ce qui court-circuiter les fils à qui la paire de diodes est connecté.
Notez que cela fonctionne indépendamment de l'endroit où les signaux d'origine.
Courant alternatif (AC) signaux du fil téléphonique qui sont alors plus de 5,8 volts ( 5.1 V + 0.7 V ) après passant par le transformateur sera tronquée.
(DC) actuelle directe ou courant alternatif (AC) signaux audio à partir d'une source audio, pas le fil téléphonique, sera également coupé à 5.8 Volts.
Ainsi, chaque partie, compagnie de téléphone et de matériel audio, est protégée contre les excès de tensions à venir de l'autre partie.
L'appareil est vraiment une paire de circuits identiques. Soit prise audio peut être utilisé pour l'entrée ou la sortie.
Au fond, à la fois les signaux audio sont couplés à un seul signal téléphonique.
8. L'utilisation d'un modem pour « se » déclencher « crochet »
8.1 Le but du modem
Le but de ce modem dans ce système est de créer un état électrique que le fournisseur de service téléphonique reconnaîtra comme une demande pour devenir un participant actif dans le réseau téléphonique.
Cette demande est demandé « de faire du hors crochet, » une référence à la conception originale de téléphone qui exigeait un utilisateur de lever un haut-parleur ou appareil hors tension d'un crochet.
La demande d'activation est accordé presque instantanément, en une fraction de seconde.
Une fois le fil devient actif, tous les autres aspects de la téléphonie peut être réalisé par des signaux audio.
Bien que la transmission des numéros de téléphone « (numéro) » peut se faire par la lecture des fichiers audio ( *.WAV, *.MP3 ), audio (DAT, CD audio, cassette) ou des logiciels de synthèse audio (sin() fonctions), le modem a la capacité intrinsèque à assurer cette fonction.
Toutefois, il faut comprendre que le seul but du modem demande d'activation du fil téléphonique.
Si une personne a une autre méthode de simulation de l'état de crochet (c'est-à-dire, tout simplement abaisser la résistance à travers le fil téléphonique), le modem n'est pas nécessaire.
Toutefois, un modem est un très bon marché, monnaie courante, pratique et appareil pour effectuer cette fonction.
Le système décrit dans cet article ne requiert pas de modem avec un enregistrement audio ou la capacité de lecture, parfois appelé un « modem de voix. »
Toutefois, dans une autre section de cet article, je discuter de la possibilité d'utiliser un modem de voix comme une alternative à l'aide d'un circuit électrique coutume.
8.2 Modem
J'ai choisi d'utiliser un modem externe fabriqués par Hayes appelé « Accura », V.92 un fax-modem avec capacité de messagerie vocale.
Tout modem peut être utilisé pour le système décrit dans cet article.
Je voulais un modem externe simplement parce qu'il est facile de joindre à n'importe quel ordinateur, et je peux le porter à un ami de la maison à utiliser avec leur ordinateur portable ou ordinateur de bureau.
Bien qu'il soit peu important, j'ai également envisagé la possibilité que peut-être un Basic Stamp 2 ordinateur d'utiliser le modem RS-232.
Attention: les ports série (RS-232) les ports, comme PS/2 ports, sont en voie de disparition, et USB est la nouvelle norme.
Un modem externe USB peut souvent être consulté par des logiciels comme s'il s'agissait d'un héritage « COM » port dispositif par les pilotes de périphériques qui sont livrés avec le modem.
Il est un petit USB/RS-232 adaptateur (~$30) qui peut être utilisé pour connecter des ordinateurs portables contemporains et les ordinateurs de bureau à RS-232 dispositifs.
Un tel adaptateur a un pilote de périphérique correspondant à émuler un héritage interface port série (par exemple, « COM » dispositif).

Hayes modem externe: la case

Hayes modem externe
8.3 Modem commandes
Quand un modem est d'abord activé, il entre dans un état appelé « mode commande. »
Si le modem se connecte avec succès à une télécommande à distance modem ou télécopieur par téléphone fil, il entre dans un état appelé « modèle de données. »
Toutefois, le système décrit dans le présent document de ne pas utiliser le modem à établir un « modèle de données » de connexion avec un dispositif à distance, de sorte que le modem sera toujours en « mode commande. »
Quand en mode commande, le modem accepte les commandes sous forme de plaine ASCII caractères.
Les personnages sont échangées entre le modem et l'ordinateur sur un câble série, ou par un pilote de périphérique qui rend une carte interne (par exemple, PCI carte) accessibles comme un périphérique série.
Dans les deux cas, les programmes utilisent API demande d'accès à des équipements série (par exemple, « COM1 » ou « /dev/modem »).
L'un des principaux sous-commandes de modem est appelé « AT » (ay-tee) commandes, et ces commandes commencent toutes par le « at » caractères (ou « AT »).
Comme les modems évolué, la liste de commandes étendu, offrant des fonctionnalités de plus en plus ésotérique. Le système décrit dans cet article exige seulement la capacité de prendre le modem « de crochet, » puis retourner le modem à l'État « sur le crochet. » La capacité de composer chiffres, et éventuellement son tour sur un haut-parleur pour le suivi l'appel, les caractéristiques sont utiles, mais ne sont pas essentiels. Le tableau suivant présente le modem commandes susceptibles d'être utilisés avec le système décrit dans cet article:
| Action | Command |
| On-Hook ("Hang Up") | ATH [zero] [return] |
| Off-Hook ("Pick Up") | ATH [one] [return] |
| "Dial" Digits | ATDT [digits,#,*] ; [return] |
| "Dial" Digit | ATDT [digit,#,*] ; [return] |
| Speaker Off | ATM [zero] [return] |
| Speaker On | ATM [two] [return] |
Le tableau suivant montre un hypothétique séquence de commandes utilisée pour passer un appel téléphonique, d'interagir avec un système automatisé qui utilise (DTMF) « Tonalités, » puis mettre fin à l'appel « (raccrocher): »
| Command | Action |
| ATM 2 [return] | Speaker On |
| ATH 1 [return] | Off-Hook ("Pick Up") |
| ATDT 5551212 ; [return] | "Dial" 5551212 |
| ATDT 3 ; [return] | "Press" 3 |
| ATDT # ; [return] | "Press" Pound (#) |
| ATDT * ; [return] | "Press" Star (*) |
| ATH 0 [return] | On-Hook ("Hang Up") |
| ATM 0 [return] | Speaker Off |
8.4 AT jeu de commandes
Le « AT jeu de commandes est mis en œuvre par presque tous les modems existants.
Cet ensemble de commandes a été initialement mis en place par Hayes modems.
La plupart des modems sont classés comme « Hayes compatibles car ils mettent en œuvre l'ensemble des commandes AT.
Toutes les commandes AT doit commencer par le préfixe AT, suivi par une lettre de commande, et a pris fin avec la ENTER(*) clé.
(*...ENTER, CARRIAGE RETURN, CR, RETURN, '\r', 13, 0xd, Control-M, ^M)
Les espaces sont autorisés dans la chaîne de commande pour augmenter la lisibilité de la ligne de commande, mais sont ignorés par le modem pendant l'exécution d'une commande.
Toutes les commandes mai être tapé dans les deux cas supérieur ou inférieur, mais jamais mélangés.
Une commande émis sans paramètres est considérée comme indiquant la même commande avec un paramètre de 0 (zéro).
Ce qui suit est un condensé AT liste des commandes.
Une liste complète et détaillée peut être facilement trouvée sur Internet par le biais d'une recherche en utilisant les mots-clés « at modem commandes.
| Cmd | Action |
| A | Answer incoming call |
| D | 0-9, A-D, # and * (e.g., AT T D 5551212*#) |
| P | Pulse dial |
| T | Tone dial |
| W | Wait for second dial tone |
| , | Pause |
| @ | Wait for 5 secs of silence |
| ! | Flash (very brief on-hook) |
| ; | Return to command mode after dialing |
| E0 | Command echo disabled |
| E1 | Command echo enabled |
| F0 | Autoscan mode |
| F1 | 300 bps connection only |
| F3 | V.23 connection only |
| F4 | 1200 bps connection only |
| F5 | 2400 bps connection only |
| F6 | 4800 bps connection only |
| F7 | 7200 bps connection only |
| F8 | 9600 bps connection only |
| F9 | 12000 bps connection only |
| F10 | 14400 bps connection only |
| H0 | Modem on-hook (hang up) |
| H1 | Modem off-hook (pick up) |
| I0 | Product code |
| I1 | Checksum code |
| I2 | ROM test |
| I3 | Firmware and device ID |
| L0 | Low speaker volume |
| L1 | Low speaker volume |
| L2 | Medium speaker volume |
| L3 | High speaker volume |
| M0 | Speaker off |
| M1 | Speaker on until carrier detect |
| M2 | Speaker on |
| M3 | Speaker off during dialing, on until carrier detected |
| N0 | Connect only at DTE rate |
| N1 | Auto rate negotiation |
| O0 | Return to data mode |
| O1 | Initiate an equalizer retrain and return to data mode |
| P | Pulse dial |
| Q0 | Result codes enabled |
| Q1 | Result codes disabled |
| T | Tone dial |
| V0 | Numeric responses |
| V1 | Text responses |
| W0 | Report DTE speed only |
| W1 | Report wire speed, error correction protocol, and DTE speed |
| W2 | Report DCE speed only |
| X0 | Hayes Smartmodem 300 compatible responses/blind dialing |
| X1 | Same as X0 plus all CONNECT responses/blind dialing |
| X2 | Same as X1 plus dial tone detection |
| X3 | Same as X1 plus busy signal detection/blind dialing |
| X4 | All responses and dial tone and busy signal detection |
| Y0 | Long space disconnect disabled |
| Y1 | Long space disconnect enabled |
| Z0 | Reset and recall user profile 0 |
8.5 Test du modem
Cette section décrit les méthodes pour vérifier rapidement la capacité de contrôler un modem connecté à l'ordinateur.
La première méthode est idéale pour les Windows 98/NT/Me/2K/XP.
L'idée de base est de commencer « série » logiciel de « communication » que l'on retrouve dans presque n'importe quel type d'installation du système d'exploitation Windows: « HyperTerminal ».
Windows 98 : "C:\Program Files\Accessories\HyperTerminal\Hypertrm.exe"
Windows 2000\XP: "C:\Program Files\Windows NT\hypertrm.exe"
(Le double-cite ci-dessus sont nécessaires lors de raccourcis ou lors de l'exécution de l'invite de commande, parce que les chemins d'accès contiennent des espaces.)
HyperTerminal peuvent être lancés à partir de l'invite de commande ou par les menus de navigation.
En vertu de Windows 2000\XP, par exemple, le logiciel lien peut être trouvé à la fin du chemin suivant de menus:
Start -> Programs -> Accessories -> Communications -> HyperTerminal -> HyperTerminal
Menu hiérarchie allant de la Start menu pour HyperTerminal
Lorsque vous commencez à HyperTerminal, plusieurs boîtes de dialogue apparaîtra:
HyperTerminal dialogues:
1. Connection Description: Votre nom arbitraire;
2. Connect To: sélectionnez le port avec modem (par exemple, COM1);
3. COM1 Properties: Bit taux pour la communication entre les PC et le modem, etc
Je spécifie un faible débit (2400 bits par seconde) entre les PC et le modem simplement parce que cela est susceptible de travailler pour chaque modem qui n'est pas officiellement un ancien.
Il est fréquent que les modems modernes pour communiquer avec le PC à des taux 115200 autour de bits par seconde, même lorsque le débit de données sur le téléphone fil est aussi bas que 9600 bits par seconde.
L'image suivante montre un simple modem en utilisant HyperTerminal session:

Utilisation HyperTerminal tenter d'utiliser différentes commandes de modem
Cette note ci-dessus montrent une manière facile de tester un modem avec le système d'exploitation Windows.
Il existe de nombreux autres « de série des » logiciels de « communication » pour les programmes Windows et Linux.
Pour Linux (ou UNIX variantes) vous pourriez être en mesure de faire quelque chose de semblable à « echo atm2 > /dev/modem » sur une ligne de commande, ou fp = fopen( "/dev/modem", "w" ); suivie par des déclarations comme celles de fprintf( fp, "atm2" ); dans un simple C programme.
8.6 Le code source qui contrôle un modem
Le C/C++ code ci-dessous montre la transmission de commandes texte à un modem.
Bien que le code ci-dessous est pour la Windows système d'exploitation, les idées sont facilement généralisée à d'autres systèmes d'exploitation.
#include < windows.h >
HANDLE hCom = ((HANDLE)(0));
int main()
{
DCB dcb;
unsigned long int n = 0;
char * str = "COM1";
hCom = CreateFile( str, (GENERIC_READ ¦ GENERIC_WRITE),
0, NULL, OPEN_EXISTING, 0, NULL );
GetCommState ( hCom, (&(dcb)) );
dcb.BaudRate = CBR_9600;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
SetCommState ( hCom, (&(dcb)) );
WriteFile( hCom, "ATM2\r", strlen("ATM2\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);
WriteFile( hCom, "ATH1\r", strlen("ATH1\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);
WriteFile( hCom, "ATDT5551212;\r", strlen("ATDT5551212;\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(3000);
WriteFile( hCom, "ATH0\r", strlen("ATH0\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);
WriteFile( hCom, "ATM0\r", strlen("ATM0\r"), (&(n)), 0 );
FlushFileBuffers( hCom );
Sleep(1000);
CloseHandle( hCom );
return(0);
}
Le logiciel ci-dessus avoir accès à un port de communication série (c'est-à-dire, « COM1 »), et nous supposons un modem est connecté à ce port.
Le logiciel envoie texte commandes au modem de faire les choses suivantes:
1. Allumez le haut-parleur interne (« ATM2\r »);
2. Prenez le fil téléphonique « hors crochet » (« ATH1\r »);
3. Composer un numéro de téléphone (« ATDT5551212;\r »);
4. Placez le fil téléphonique retour « sur le crochet » (« ATH0\r »);
5. Désactiver le haut-parleur interne (« ATM0\r »).
L'exemple code ci-dessus montre quelques-unes des Windows API les fonctions.
Toutefois, l'exemple le code informatique est très rigide et ne pas vérifier les erreurs.
La fonction Sleep() invocations assurer que le modem ait le temps d'achever avant de commandes à la prochaine commande.
Idéalement, il faudrait vérifier pour le texte des réponses du modem (par exemple, « OK » ou « ERROR »).
8.7 Modem contrôle C++ class (Windows système d'exploitation)
On trouvera ci-après ZIP fichier d'archive contient un C++ class approprié pour le contrôle d'un modem via le système d'exploitation Windows.
Il s'agit essentiellement d'une version plus élaborée du code de démonstration présentées ci-dessus.
Aussi, l'enveloppe C++ class le modem fonctionnalité de telle sorte que le portage vers d'autres plates-formes (par exemple, Linux) est rendue plus facile.
Microsoft Visual C++ 6.0 Un dossier de projet est inclus dans le code source, de manière on peut construire et exécuter le code immédiatement comme un test.
Mais tout ce que vous avez besoin, ce sont les deux fichiers source ( modem_control.cpp, modem_control.h ) d'utiliser le code dans votre propre logiciel.
9. Utilisation de l'interface
9.1 Utilisation de l'interface avec un ordinateur

Configuration utilisés dans mes expériences
Joindre un répartiteur au fil téléphonique, avec une succursale en cours à un modem, et l'autre branche aller au circuit d'interface téléphonique.
Connectez les deux câbles audio du circuit à « l'entrée microphone » et « sortie des haut-parleurs » de la carte son ou des prises audio sur l'ordinateur personnel ou autre périphérique audio.
En utilisant le modem de code décrit ailleurs dans le présent article, vous pouvez utiliser le modem à « décrocher le téléphone » et « un numéro de téléphone. »
Ensuite, l'ordinateur permet d'enregistrer et de lecture audio dans n'importe quel sens souhaité.
Le modem code peut ensuite être utilisé pour « raccrocher le téléphone » pour mettre fin à l'appel.
Vous êtes responsable de la notification appels si vous avez l'intention d'enregistrer une partie de l'appel.
(... À moins que vous êtes le gouvernement! Sinon, procédez comme ils disent, et pas comme ils le font!)
9.2 Utilisation de l'interface avec du matériel audio
Joindre un répartiteur au fil téléphonique, avec une succursale en cours à un téléphone ordinaire, et l'autre branche aller au circuit d'interface téléphonique.
Connectez le signal audio du circuit en vue d'une entrée microphone à un amplificateur ou d'un appareil d'enregistrement.
Connectez la sortie de tout dispositif qui produit de faible amplitude audio (par exemple, +/-1.0 volts) soit prise audio sur le circuit.
Ne pas brancher la sortie audio d'un amplificateur stéréo au circuit, car les tensions sont très susceptibles d'être très excessif pour le téléphone audio.
Amplificateurs stéréo généralement ont des produits (par exemple, RCA connecteurs) pour l'envoi de sortie audio pour les autres types de matériel audio qui acceptent d'entrée audio (par exemple, VCR, magnétophone, télévision, etc), à basse tension produits sont adaptés pour une utilisation avec les circuit décrit dans cet article.
Ainsi, on peut accepter ou le lieu des appels en utilisant le téléphone, et enregistrer et lire l'audio pendant l'utilisation du téléphone.
Vous êtes responsable de la notification appels si vous avez l'intention d'enregistrer une partie de l'appel.
(... À moins que vous êtes le gouvernement! Sinon, procédez comme ils disent, et pas comme ils le font!)
10. Téléphone de réseaux
10.1 Notices d'études
Le fonctionnement du système téléphonique est au-delà de la portée de cet article.
Consultez les références à la fin de cet article quelques informations sur le sujet.
Cependant, je souligne intéressant de discuter dans cette section.
10.2 Aspects électriques de base
10.2.1 Par téléphone ou par modem dans l'état « sur le crochet »
Il ya deux objectifs qui ont conduit à la conception de téléphone:
(1) Un téléphone doit être électriquement "invisible" à courant direct (DC), tout comme un circuit ouvert ou une déconnexion, quand il est dans le crochet-État;
(2) Le courant alternatif (AC) pointes utilisées pour faire sonner le téléphone doit être acceptée par téléphone dans le croc-en faire état, ils feront sonner.
Ces deux objectifs sont atteints en ayant le téléphone conçu de telle sorte que non-polarisé (ou deux) est le téléphone le seul lien vers le fil de téléphone lorsque vous êtes dans le crochet en état.
Ainsi, courant (DC) peut pas passer à travers, et le courant alternatif (AC) sonnerie signal peut passer par la sonnerie des cloches ou circuit.
Lorsque j'ai mesuré la résistance de DC un téléphone dans le crochet-état, il a dépassé 40 Megaohms.
Lorsque j'ai mesuré la résistance de DC un modem dans le crochet-état, il a également dépassé 40 Megaohms.
Le DC tension fournie par la compagnie de téléphone afin de détecter toute résistance en raison de téléphones sont hors crochet est parfois signalés comme 48 Volts.
J'ai mesuré +23.02 Volts (DC), où j'ai appelé le « fil rouge » positif, et le « fil vert. »
Notez que cette DC chutes de tension de façon spectaculaire lorsque le téléphone est hors-crochet, je +7.17 Volts (DC) mesurée lorsque le téléphone est hors-crochet.
Tension de sonnerie est signalée comme l'90 Volts (16-60 Hz courant alternatif), ce qui peut surprendre ou blesser des personnes dans certaines circonstances.
10.2.2 Par téléphone ou par modem dans l'état « de crochet »
Téléphones et modems demande l'utilisation d'un fil téléphonique par la réduction de leurs propres DC résistance électrique.
Cette condition est détectée par le fournisseur de service téléphonique et le fil devient actif.
Lorsque j'ai mesuré la résistance de DC un téléphone à l'extérieur des crochets d'état, il était d'environ 6.83 Megaohms.
Lorsque j'ai mesuré la résistance de DC un modem dans l'off-crochet état, il était presque exactement 1.500 Megaohms.
Rappelons que ces deux appareils avaient dépassé les résistances que lorsque 40 Megaohms dans le crochet-état.
Fait intéressant, cette résistance est assez élevé, près d'un homme de la résistance électrique des fils lorsque l'on touche avec les mains sèches.
Par exemple, si je détiens un fil dans ma main gauche, et un fils dans ma main droite, avec les mains relativement sec, je peux obtenir une résistance aussi bas que 0.5 Megaohms en pressant bien sur les fils.
Pour réduire très légèrement me donne une plus grande résistance DC, environ 1.5 Megaohms, qui est apparemment encore assez bas pour dire la compagnie de téléphone que je suis un téléphone.
(Ne touchez jamais les fils de téléphone!)
Ainsi, on peut simuler une prise de téléphone ou un modem hors-crochet seulement par l'introduction d'un 1 Megaohm résistance à travers le fil téléphonique.
On peut le faire grâce à un circuit avec un relais contrôlé par un port sur un ordinateur (RS-232, parallel port, USB, etc), mais un modem est une pratique, peu coûteux et polyvalents alternative à un relais de circuit personnalisé.
Comme mentionné ci-dessus, la compagnie de téléphone conserve un courant direct (DC) différence de potentiel (tension) à travers le fil téléphonique pour détecter les téléphones de faire du hors-crochet et le retour à la sur-crochet état.
J'ai mesuré cette tension que +23.02 Volts (DC) sur-crochet, et +7.17 Volts (DC) hors-crochet.
10.3 Les signaux audio
Avec le téléphone à l'extérieur de l'état-crochet, la « tonalité » semble avoir un courant alternatif (AC) Root-Mean-Square (RMS) tension de 0.139 Volts AC.
L'ensemble du signal est biaisée par une importante DC tension d'environ +5 Volts DC; +7.17 Volts DC J'ai mesuré pendant une expérience.
Les signaux audio sont très petits écarts (à quelques pour cent) DC autour de cette tension.
Cela signifie, par exemple, que les signaux sonores ne sont pas fluctuer autour d'un zéro de tension; les signaux sonores ne jamais rendre la circulation en sens inverse sur le fil téléphonique.
Il s'avère que mon téléphone circuit d'interface 0.139 VAC convertit le signal à environ 0.030 VAC (c'est-à-dire, 30 mV AC) pour une utilisation par les équipements audio (par exemple, entrée microphone sur une carte son).
10.4 La bande passante audio
La fonction principale d'un système téléphonique est de permettre la communication vocale entre les humains.
Le schéma suivant montre la moyenne spectrale d'énergie pour quelques secondes de discours audio.

Moyenne spectrale d'énergie (échelle décibel) de quelques secondes de parole sur toute la gamme sonore (20 Hz à 20 kHz). L'échelle verticale est en décibels, ce qui fait que même une baisse modeste sur ce graphique indique une baisse dramatique dans l'énergie sonore.
Le décibel échelle de la carte ci-dessus signifie que la baisse des valeurs sur la carte sont en fait des ordres de grandeur moins que des valeurs plus élevées sur la carte.
Il est évident qu'une partie importante de l'énergie totale de son discours est reproduit dans l'intervalle de 0 Hz à 4000 Hz.
L'être humain ne peut comprendre la parole fiable, même lorsque tous les audio d'énergie en dehors de l'intervalle 300 Hz à 3000 Hz est éliminé.
Toutefois, le subjectif effet de limiter son énergie à cette gamme est que la voix feutrée et son manque d'articulation.
La subtile différence entre 'F' et 'S' est plus facile de perdre un téléphone.
Le système téléphonique aux Etats-Unis a une voix que la chaîne ne porte fréquences entre 0 Hz à 4000 Hz.
Cependant, la voix passante est limitée à la gamme 300 Hz à 3000 Hz, et il est de plus en plus rapidement atténuation de la voix en dehors de l'énergie de cette bande.

( 300 Hz - 3000 Hz ) à bande passante vocale de la voix au sein de la chaîne ( 0 Hz - 4000 Hz ) du système téléphonique aux États-Unis
L'image suivante est un spectrale parcelle de plusieurs secondes d'typique enregistré une conversation téléphonique.

Spectral parcelle de plusieurs secondes d'typique enregistré une conversation téléphonique (voix d'homme)
Bien que la fréquence de résolution est relativement faible, l'effet de la largeur de bande limitée du système téléphonique est manifeste.
À des fins expérimentales, les propriétés audio d'un système téléphonique peut être simulé avec un égaliseur graphique, ou un filtre passe-bande dans une édition de son logiciel, tout simplement en filtrant les 350 Hz tout en dessous et au-dessus de tout 3500 Hz.
10.5 Importants fréquences audio
Le « toucher des tons » utilisés pour « composer des numéros » et d'interagir avec des systèmes automatisés sont connues sous le nom Dual-Tone Multi-Frequency (DTMF) signaux.
Ces tonalités peuvent être générés par la simple addition de deux sinusoïdes de concert avec le bon fréquences, comme le montre le tableau suivant des fréquences.
Il est à noter que le minimum d'une réserve lors de l'envoi d'un DTMF son est 50 milliseconds, et le minimum de sortie (silencieux DTMF écart entre les sons) est 50 milliseconds.
Utilisation de retards de 200 milliseconds serait probablement fiables.
La « tonalité, signal d'occupation, » et la « bague arrière-sons » ont également défini la fréquence des combinaisons aux Etats-Unis:
11. Autre téléphone méthodes de l'interface
J'ai investi $30 et quatre heures pour construire le circuit pour permettre à un ordinateur personnel pour envoyer et de recevoir des signaux audio sur un fil téléphonique.
Pour cela, il faut un cetain type d'expertise et de l'équipement.
Aussi, à moins que vous êtes prêt à aller à l'entreprise de fabrication de ce circuit, vous ne pouvez pas créer un produit (pas cher, messagerie vocale ou répondeur) exige que cette interface.
Le plus facile, peu coûteux alternative à la méthode que je matériel décrit dans cet article est d'utiliser un logiciel méthode pour accéder à la voix capacités d'un « modem de voix. »
Toutefois, je dois dire que, par rapport à l'aide d'un circuit personnalisé, en utilisant un modem de voix en liaison avec un logiciel spécial est susceptible d'être la plate-forme très spécifique et généralement très douloureux pour programmer, à configurer et à utiliser.
Le bénéfice (en supposant que vous avez un modem de voix) est que ce serait une solution purement logicielle.
Si vous utilisez un modem de voix et un logiciel spécial, votre système pourrait être aussi simple que le diagramme ci-dessous.

Système en utilisant un « modem » interne « voix » et des logiciels
En fonction de vos besoins, la voix des données aspect de la voix modem peut être semi-duplex (c'est-à-dire, le logiciel peut « parler » ou « écouter, » mais pas les deux simultanément), ou full-duplex.
Half-duplex mai ajouter une certaine complexité pour les logiciels de contrôle parce que vous avez besoin de décider à quel moment de transmettre et de recevoir l'audio.
Le modem de voix numérise fil téléphonique audio et transmet les données par USB si RS-232 ou externe, ou par taxi PCI, si interne.
12. Microsoft Telephony API (TAPI)
Microsoft systèmes d'exploitation ont TAPI 2.0 et TAPI 3.0 DLLs.
TAPI 3.0 pourrait avoir de nombreux problèmes de logiciel, et la plupart des gens qui ont utilisé Microsoft TAPI ont simplement utilisé TAPI 2.0 (qui a souhaité la quasi-totalité des fonctionnalités) au lieu de TAPI 3.0.
Utilisez le « wave/in » et « wave/out » dispositifs pour avoir accès à un modem de voix du flux audio.
Voir le livre TAPI dans les références de cet article. Le livre est vieux, mais il décrit en détail TAPI 2.0.
13. Java Telephony API
Je ne sais rien sur la Java Telephony API.
Toutefois, je suppose qu'il a l'avantage d'être indépendant des systèmes d'exploitation, et a probablement beaucoup plus simple que les abstractions Microsoft TAPI!
14. Divers produits commerciaux
Commercial, monté en rack matériel à de multiples interfaces externes fils téléphoniques sont capables d'échanger des données sonores avec des ordinateurs.
« Voice Over IP » (VoIP) produits, tels que les « téléphones Internet, » sont désormais partout (par exemple, « Skype). »
De toute évidence, les logiciels peuvent facilement avoir accès à la partie audio de ces connexions téléphoniques.
15. Références
Best, plus guide complet de circuits de téléphone que j'ai rencontrés sur Internet:
Une autre référence intéressante:
Hilarant (et fou) guide de postes téléphoniques payants autour des États-Unis et le Canada:
(Regardez le « top des contingents » de salaire-les numéros de téléphone, le téléphone échantillons audio, et le téléphone photos.)
16. Livres
16.1 Understanding Telephone Electronics (4th ed)
Understanding Telephone Electronics (4th ed);
Newnes; 2001;
Stephen J. Bigelow, Joseph J. Carr, Steve Winder;
$25.45 US (2001)
Ce livre décrit de nombreux aspects de circuits téléphoniques et le fonctionnement du réseau téléphonique aux États-Unis.
Il ya beaucoup de détails sur les circuits et protocoles, tout d'un téléphone au réseau téléphonique lui-même.
Il ne fait aucun doute la technologie est très différent aujourd'hui, mais ce livre est sans doute un peu plus pratique qu'un livre d'histoire.
16.2 Windows Telephony Programming: A Developer's Guide to TAPI
Windows Telephony Programming: A Developer's Guide to TAPI;
Addison-Wesley; 1998;
Chris Sells;
$33.95 US (1998)
Le Microsoft Telephony API (TAPI) est inutilement désordre et de confusion, et il est maintenant extrêmement obsolète. Le livre mentionné ci-dessus peut-être le seul livre jamais publié sur le Microsoft Telephony API (TAPI).