Computer interfaz de audio de cable basados en red telefónica
Colin Fahey

Una computadora puede hacer llamadas telefónicas de voz utilizando cualquier modem y un circuito simple.
1. Introducción
Este documento describe cómo utilizar cualquier módem convencional y un simple circuito para dar cualquier ordenador personal (PC), con cualquier sistema operativo, la capacidad para colocar las llamadas telefónicas que puede implicar la interacción de voz.
Un módem normal se utiliza para activar el teléfono por cable pasa “fuera de gancho,” y más tarde la liberación de la telefonía por cable va “en gancho (colgar).”
Un simple circuito eléctrico se utiliza para dar cualquier dispositivo de audio, tales como una tarjeta de sonido o interfaz de sonido de un ordenador personal (PC), el acceso a las señales de audio en un cable de teléfono.
De este modo, un ordenador personal (PC) puede iniciar una conexión con un número de teléfono y, a continuación, esperar a que un ser humano o un sistema automatizado de respuesta y, a continuación, iniciar una conversación sobre la base de discurso o de otros sonidos.
Este documento está destinado a los aficionados interesados en aprender unas cuantas cosas sobre los requisitos eléctricos y de protocolo para interactuar con el Central Office (CO) de un cable conectado red telefónica en los Estados Unidos (US).
Hay muchas tecnologías para permitir a las personas a interactuar con los sistemas basados en voz a través de los teléfonos.
Hay muchos productos comerciales y servicios que se ofrecen para manejar todo lo relacionado con la interacción telefónica con una base de datos corporativa.
Es bastante fácil de encontrar hardware para manejar muchas llamadas telefónicas a un solo número.
Telefonía se ha ampliado a Internet, con protocolos como “Voice over Internet Protocol” (VoIP).
Ordenadores en cualquier lugar del Internet puede ser configurado para interactuar con VoIP a través de reconocimiento de voz y síntesis de voz.
Estos ordenadores pueden seguir opcionalmente conversación de voz diagramas de flujo expresado en XML archivos de texto (Voice XML).
Este documento no tiene nada que ver con ninguna de esas soluciones prácticas al problema de automatización de voz interacción con una empresa u organización.
Este documento está destinado al entretenimiento de los aficionados con pequeños presupuestos.
2. Disclaimers
La construcción de un circuito electrónico, y la conexión a una red telefónica, entraña muchos riesgos.
Usted es responsable de aprender acerca de todas las leyes, los peligros y los riesgos que se pueden aplicar.
La siguiente es una lista de algunas de las cuestiones que debe considerar si usted está interesado en construir y probar un circuito similar a la que aparecen en este artículo:
1. Toda la información sobre las especificaciones eléctricas del servicio telefónico sólo es válido en los Estados Unidos (US).
2. Anillamiento de tensión en los cables telefónicos (90 voltios) puede perjudicar a las personas.
Rayo caído o los cables de energía puede conducir a tensiones en los cables telefónicos que puede perjudicar a las personas.
3. Usted es responsable de cualquier daño a la compañía telefónica circuitos causados por el uso de dispositivos no autorizados en su casa u oficina.
4. Grabación de conversaciones telefónicas sin la aprobación expresa de todas las partes implicadas está en contra de la ley.
(... A menos que usted es el gobierno! De lo contrario, hacer como ellos dicen, y no como lo hacen!)
5. Usted es responsable de cualquier daño a su equipo causadas por la conexión de su propio circuito para el equipo.
6. No se puede vender cualquier producto destinado a utilizarse con una red de telefonía sin la aprobación de la FCC.
Este documento es sólo una descripción de mis experiencias personales.
Usted es responsable de aprender sobre las leyes y los riesgos derivados de fuentes autorizadas.
3. Teléfono interfaz de audio de circuito
El propósito del circuito descrito en esta sección es permitir a los convencionales de audio grabación y reproducción de equipo, como una tarjeta de sonido o puerto de audio en un ordenador personal (PC), para enviar y recibir audio lo largo de un cable de tierra convencional (por cable) de conexión telefónica.
El cable de teléfono y el equipo de audio no están directamente conectadas; el acoplamiento es sólo a través de transformadores.
Ambas partes de la interfaz están protegidos de un exceso de tensiones.
Las señales están limitados a un rango de frecuencias (ancho de banda) correspondiente al teléfono de audio (300 Hz a 3500 Hz).
El circuito tiene sólo componentes “pasivos;” conducción de todos los voltajes son externos.
El circuito debe ser usado en conjunción con un módem, teléfono, u otro circuito capaz de ir “fuera de gancho” (con lo cual la resistencia del cable lo suficientemente bajo como para indicar a la Oficina Central (CO) que el cable está en uso).
Sería trivial para añadir un aspecto “fuera de gancho” a este circuito, pero tener un circuito a todos ya es un gran obstáculo para muchos aficionados.

Aspecto de la asamblea de circuito

Aspecto de la placa de circuito impreso

Esquema de la interfaz de audio de teléfono de circuito
Usted puede construir el dispositivo casi exactamente como aparece arriba, si hacer las siguientes inversiones:
1. Asegúrese de tener herramientas básicas: destornilladores, soldador, cuchillo;
2. Visita Radio Shack, la compra de elementos enumerados a continuación, por un valor de $ 29 después de impuestos;
3. Visite cualquier tienda de hardware, la compra de dos tuercas, pernos, arandelas, por un valor de $ 1.
4. Pase unas cuatro horas la construcción del circuito de acuerdo con el esquema;
Si no tiene experiencia en la construcción de circuitos electrónicos, soldadura, perforación de agujeros, y haciendo mediciones eléctricas, no hacer de este su primer proyecto!
La única persona que debería tratar de construir este circuito es la persona que ya sabe con seguridad que él o ella puede construir!
4. Radio Shack: el ubicuo tienda de electrónica
Radio Shack es una empresa de electrónica de consumo con tiendas en todo el mundo. El siguiente es un enlace a su sitio de Internet:
En su sitio de Internet una persona puede encontrar un enlace llamado “Electronic Components”, lo que lleva a su catálogo de componentes electrónicos y documentación correspondiente.
Una persona puede encontrar precios de las partes.
Una persona puede obtener una lista de los lugares más cercana tienda, y mapas.
Las partes pueden pedirse en línea.
He decidido a construir mi circuito sencillas utilizando Radio Shack partes porque esto significa que nadie en el mundo pueden reproducir fácilmente mi trabajo.
Además, cualquier parte que ofrece Radio Shack está prácticamente garantizado para estar disponible durante muchos años a un bajo precio.
Aquí está una lista de partes Radio Shack he utilizado para construir el circuito, con los números de catálogo:
| 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: la no tan ubicua ferretería
Yo necesitaba tornillos, arandelas, tuercas y para atar un teléfono a la roseta de plástico caso de mi circuito.
Fui a Ace Hardware, pero me podría haber ido a Home Depot, o quizás incluso un supermercado, para encontrar piezas similares.
| 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. Herramientas y accesorios
La siguiente tabla muestra algunos de los artículos que necesitaba para la construcción y el uso del circuito:
| 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. Comentarios sobre el circuito
No soy un ingeniero eléctrico.
Estudié varios circuitos de teléfono (véase la referencia que aparece en la parte final de este artículo), y extrajeron los diversos elementos que apoyen mi propia objetivos de diseño.
Si eran realmente desesperadas, y el riesgo a su PC no era un factor, se puede conectar un cable de teléfono a su puerto de sonido utilizando únicamente un par de capacitores!
Esa es una muy mala idea, porque el timbre de tensión, y los posibles picos de tensión al azar en el cable de teléfono, puede dañar los dispositivos sin protección.
Los diodos Zener en mi circuito corto-circuito excesivas tensiones.
Aviso que se enfrentan a direcciones opuestas, de modo que para un determinado voltaje aplicado con una determinada polaridad, un diodo Zener está lista para llevar a cabo normalmente actual, y la otra está lista para invertir-en caso de que el desglose de tensión superior a su clasificación (por ejemplo, 5.1 V) .
Sólo cuando una tensión superior a la inversa-desglose tensión de uno de los diodos Zener va a la par en última instancia permitirá a la corriente actual, por lo tanto, cortocircuito de los cables para que el par de diodos está conectado.
Tenga en cuenta que esto funciona con independencia de dónde se originan las señales.
Corriente alterna (AC) las señales de cable de teléfono son mayores que entonces 5,8 voltios ( 5.1 V + 0.7 V ) tras pasar por el transformador será recortada.
(DC) corriente continua o alterna actual (AC) señales de audio desde una fuente de audio, no el cable de teléfono, también será cortado, 5.8 Volts.
Por lo tanto, cada una de las partes, la compañía telefónica y equipo de audio, está protegido de tensiones excesivas procedentes de la otra parte.
El dispositivo es en realidad un par de circuitos idénticos. De cualquier enchufe de audio pueden ser utilizados para entrada y salida.
Básicamente, ambas señales de audio están acoplados a la única señal de teléfono.
8. El uso de un módem a ir “fuera de gancho”
8.1 El propósito del módem
El propósito del modem en este sistema es crear un eléctricos condición de que la compañía prestataria del servicio telefónico se reconocen como una solicitud para convertirse en un participante activo en la red telefónica.
Esta petición se llama “ir fuera de gancho,” una referencia a los originales diseños de teléfono que requiere un usuario a levantar un altavoz o auricular fuera de un gancho.
La solicitud de activación es casi instantánea concedida, dentro de una fracción de segundo.
Una vez que el alambre se convierte en activo, todos los demás aspectos de la telefonía pueden llevarse a cabo a través de señales de audio.
Aunque la transmisión de números de teléfono “(marcación)” que se puede hacer jugando ( *.WAV, *.MP3 ) archivos de audio, grabado de audio (DAT, CD de audio, cinta), o software de síntesis de audio (sin() funciones), el módem tiene la capacidad intrínseca para llevar a cabo esta función.
Sin embargo, debe entenderse que el único propósito de que el módem está solicitando la activación del cable de teléfono.
Si una persona tiene un método alternativo de simular la condición de fuera de gancho (es decir, simplemente reduciendo la resistencia a través del cable de teléfono), el módem no es necesario.
Sin embargo, un módem es muy barato, frecuente, cómodo y dispositivo para llevar a cabo esta función.
El sistema descrito en este artículo no requiere un módem con grabación de audio o capacidad de reproducción, a veces llamado un “módem de voz.”
Sin embargo, en otra sección de este artículo discutir la posibilidad de utilizar un módem de voz como una alternativa al uso de una costumbre circuito eléctrico.
8.2 Módem tradicional
Yo escogí a utilizar un módem externo fabricado por Hayes llamado “Accura”, V.92 un fax-módem con capacidad de voz.
Cualquier módem se puede utilizar para el sistema descrito en este artículo.
Yo quería un módem externo, simplemente porque es fácil de adjuntar a cualquier equipo, y puedo llevarlo a la casa de un amigo para usar con su computadora portátil o computadora de escritorio.
Aunque es apenas importante, yo también examinó la posibilidad de que tal vez un Basic Stamp 2 computadora pueda usar el módem RS-232.
Precaución: puertos serie (RS-232) los puertos, al igual que PS/2 los puertos, se están eliminando gradualmente, y USB es el nuevo estándar.
Un módem externo USB a menudo puede ser visitada por software como si se tratara de un legado “COM” puerto de dispositivo de controladores de dispositivos que vienen con el módem.
Hay una pequeña USB/RS-232 adaptador (~$30) que se pueden utilizar para conectar ordenadores portátiles y contemporáneo computadoras de escritorio a dispositivos RS-232.
Este adaptador tiene un controlador de dispositivo correspondiente para emular un legado interfaz de puerto serie (por ejemplo, “COM” dispositivo).

Hayes módem externo: caja

Hayes módem externo
8.3 Modem comandos
Cuando un módem se enciende por primera vez, entra en un estado llamado “modo comando.”
Si el éxito módem se conecta a un módem remoto o fax dispositivo remoto a través del teléfono de alambre, que entra en un estado llamado “modo de datos.”
Sin embargo, el sistema descrito en este documento no va a usar el módem para establecer un “modo de” conexión “de datos” con un dispositivo remoto, por lo que el módem será siempre en “modo comando.”
Cuando en modo comando, el módem acepta comandos en forma de llanura ASCII caracteres.
Los personajes se intercambian entre el módem y el ordenador a través de un cable serial, oa través de un controlador de dispositivo que hace una tarjeta interna (por ejemplo, PCI tarjeta) accesible como un dispositivo serie.
En cualquier caso, los programas de uso API pide para acceder a dispositivos en serie (por ejemplo, “COM1” o “/dev/modem”).
Uno de los principales subconjunto de comandos de módem se llama “AT” (ay-tee) comandos, estos comandos y todos comienzan con los caracteres “at” (o “AT”).
Como módems evolucionado, la lista de comandos ampliado, ofreciendo cada vez más esotéricas características. El sistema descrito en este artículo sólo se requiere la habilidad de tomar el módem “fuera de gancho” y luego devolver el módem para el estado “en el gancho.” La capacidad de marcar los dígitos, y, opcionalmente, a su vez a un orador para el seguimiento de la convocatoria, son características útiles, pero no son esenciales. La siguiente tabla muestra el módem comandos susceptibles de ser utilizados con el sistema descrito en este artículo:
| 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] |
El siguiente cuadro muestra una hipotética secuencia de comandos utilizados para realizar una llamada telefónica, interactuar con un sistema automatizado que utiliza “tonos” (DTMF) “toque” y, a continuación, terminar la llamada “(colgar):”
| 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 comando set
El conjunto de órdenes “AT se aplica en casi todos los módems en existencia.
Este conjunto de comandos fue ejecutado por Hayes módems.
La mayoría de los módems se clasifican como “Hayes compatibles porque la ejecución del conjunto de comandos AT.
Todos los AT comandos debe comenzar con el prefijo AT, seguido por un comando carta, y terminó con la ENTER(*) clave.
(*...ENTER, CARRIAGE RETURN, CR, RETURN, '\r', 13, 0xd, Control-M, ^M)
Los espacios son permitidos en la cadena de comandos para aumentar la legibilidad de línea de comandos, pero son ignorados por el módem durante la ejecución de comandos.
Todos los comandos pueden escribirse en mayúsculas, bien o minúsculas, pero nunca mezclados.
Un comando ejecutado sin ningún tipo de parámetros se considera como especificar el mismo comando con un parámetro de 0 (cero).
La siguiente es una lista condensada de AT comandos.
Una versión más completa y detallada lista puede ser fácilmente encontrados en Internet a través de una búsqueda utilizando las palabras clave “at módem comandos.
| 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 Probando el modem
En esta sección se describen los métodos para verificar rápidamente la capacidad de controlar un módem conectado al ordenador.
El primer método es adecuado para Windows 98/NT/Me/2K/XP.
La idea básica es empezar “de comunicación en serie” de software que se puede encontrar en casi cualquier instalación típica de la Windows sistema operativo: “HyperTerminal”.
Windows 98 : "C:\Program Files\Accessories\HyperTerminal\Hypertrm.exe"
Windows 2000\XP: "C:\Program Files\Windows NT\hypertrm.exe"
(Las comillas dobles se indica más arriba son necesarios al hacer atajos o cuando la ejecución de comandos, debido a que el archivo de caminos contener espacios.)
HyperTerminal puede ser lanzado desde la línea de comandos o navegar por menús.
En virtud de Windows 2000\XP, por ejemplo, el software de enlace se puede encontrar al final de la siguiente ruta de menús:
Start -> Programs -> Accessories -> Communications -> HyperTerminal -> HyperTerminal
Menú principal jerarquía de la Start menú para HyperTerminal
Al iniciar HyperTerminal, varios cuadros de diálogo aparecen:
HyperTerminal cuadros de diálogo:
1. Connection Description: Escriba nombre arbitrario;
2. Connect To: Seleccione el puerto con el modem (por ejemplo, COM1);
3. COM1 Properties: tasa de bits para la comunicación entre los PC y el módem, etc
He especificado una baja tasa de bits (2400 bits por segundo) entre los PC y el módem simplemente porque esto es probable que funcione para todos los módem que no es oficialmente una antigua.
Es común que los modernos módems para comunicarse con el PC a 115200 en torno a las tasas de bits por segundo, incluso cuando la velocidad de transmisión de datos en el cable de teléfono es tan bajo como 9600 bits por segundo.
La siguiente imagen muestra un simple módem usando HyperTerminal período de sesiones:

El uso de HyperTerminal al intento de utilizar diferentes comandos del módem
Esta toma nota de arriba muestran una manera fácil de probar un módem con el sistema operativo Windows.
Hay muchas otras “comunicaciones serie” de programas de software Windows y Linux.
Por Linux (UNIX o variantes) que podrían ser capaces de hacer algo similar a “echo atm2 > /dev/modem” en una línea de comandos, o fp = fopen( "/dev/modem", "w" ); seguido por declaraciones como fprintf( fp, "atm2" ); en un simple programa C.
8.6 El código fuente para el control de un módem
El C/C++ código se muestra a continuación demuestra la transmisión de comandos de texto a un módem.
A pesar de que el código se muestra a continuación es para el sistema operativo Windows, las ideas son fácilmente generalizado para otros sistemas operativos.
#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);
}
El software por encima de acceder a un puerto de comunicaciones serie (es decir, “COM1”), y nosotros asumimos un módem está conectado a este puerto.
El software de texto envía comandos al módem para realizar las siguientes cosas:
1. Encienda el altavoz interno (“ATM2\r”);
2. Tome el teléfono “fuera de gancho” de alambre (“ATH1\r”);
3. Marque un número de teléfono (“ATDT5551212;\r”);
4. Coloque el cable de teléfono de vuelta “en gancho” (“ATH0\r”);
5. Apague el altavoz interno (“ATM0\r”).
El ejemplo de código anterior muestra algunas de las funciones Windows API.
Sin embargo, el ejemplo de código es muy inflexible y no comprueba ningún error.
La función Sleep() invocaciones asegurarse de que el módem tiene tiempo para completar los comandos antes de avanzar al siguiente comando.
Lo ideal sería que nos hará la verificación de texto para las respuestas de módem (por ejemplo, “OK” o “ERROR”).
8.7 Modem control C++ class (Windows sistema operativo)
Los siguientes ZIP archivo contiene una C++ class adecuados para el control de un módem a través de la Windows sistema operativo.
Es esencialmente una versión más elaborada del código de demostración se ha expuesto.
Por otra parte, el C++ class envuelve el módem funcionalidad de tal manera que la adaptación a otras plataformas (por ejemplo, Linux) se hace más fácil.
Microsoft Visual C++ 6.0 Un archivo de proyecto se incluye con el código fuente, por lo que uno puede construir y ejecutar el código de inmediato como una prueba.
Pero todo lo que necesitamos son las dos ficheros fuente ( modem_control.cpp, modem_control.h ) utilizar el código en su propio software.
9. El uso de la interfaz
9.1 El uso de la interfaz con una computadora

Configuración utilizado en mis experimentos
Adjuntar un separador para el cable de teléfono, con una rama de ir a un módem, y la otra rama de ir a la interfaz telefónica circuito.
Conecte los dos cables de audio desde el circuito a la “entrada” del “micrófono” y el “altavoz de salida” de la tarjeta de sonido o tomas de audio en la computadora personal u otro dispositivo de audio.
Usando el módem código descrito en otra parte de este artículo puede utilizar el módem para “recoger el teléfono” y “marcar números de teléfono.”
A continuación, el ordenador puede grabar y reproducir audio en cualquier forma deseada.
El módem código puede utilizarse para “colgar el teléfono” para terminar la llamada.
Usted es responsable de notificar a las llamadas si usted tiene la intención de registrar ninguna porción de la llamada.
(... A menos que usted es el gobierno! De lo contrario, hacer como ellos dicen, y no como lo hacen!)
9.2 El uso de la interfaz con el equipo de audio
Adjuntar un separador para el cable de teléfono, con una rama de ir a un teléfono normal, y la otra rama de ir a la interfaz telefónica circuito.
Conecte la señal de audio, ya sea desde el circuito a una entrada de micrófono a un amplificador o dispositivo de grabación.
Conectar la salida de cualquier dispositivo que produce baja amplitud de audio (por ejemplo, +/-1.0 voltios) para audio, ya sea en el zócalo de circuito.
No conecte la salida de audio estéreo de un amplificador para el circuito, porque los voltajes son muy probable que sea muy excesivo para el teléfono de audio.
Stereo amplificadores suelen tener los productos especiales (por ejemplo, RCA conectores) para el envío de salida de audio a otros tipos de equipo de audio que aceptar de entrada de audio (por ejemplo, VCR, grabadora, televisión, etc); estas de baja tensión son productos adecuados para su utilización con la circuito descrito en este artículo.
Por lo tanto, uno puede aceptar o realizar llamadas utilizando el teléfono, y grabar y reproducir audio durante el uso del teléfono.
Usted es responsable de notificar a las llamadas si usted tiene la intención de registrar ninguna porción de la llamada.
(... A menos que usted es el gobierno! De lo contrario, hacer como ellos dicen, y no como lo hacen!)
10. Teléfono red de conceptos
10.1 Referencias de estudios
El funcionamiento del sistema telefónico está fuera del alcance de este artículo.
Consulte las referencias al final de este artículo para más información sobre el tema.
Sin embargo, destaca interesante discutir en esta sección.
10.2 Los aspectos básicos de electricidad
10.2.1 Teléfono o módem en el estado “en el gancho”
Hay dos objetivos que llevaron al diseño de teléfono:
(1) Un teléfono debe estar conectadas a "invisible" para (DC) corriente continua, al igual que un circuito abierto o una desconexión, cuando se encuentra en el gancho en estado;
(2) La Corriente alterna (AC) picos utilizados para hacer los teléfonos anillo debe ser aceptada por los teléfonos en el estado de gancho para que suene.
Ambos de estos objetivos se logran mediante el teléfono diseñado de tal modo que no polarizado capacitor (o dos) de teléfono es el único vínculo con el cable de teléfono en cuando en el estado de gancho.
Por lo tanto, (DC) corriente no puede pasar, y la Corriente alterna (AC) sonar la señal puede pasar a través de las campanas sonando o circuito.
Cuando me DC mide la resistencia de un teléfono en el gancho en-estado, superó 40 Megaohms.
Cuando me DC mide la resistencia de un módem en el sector gancho estado, sino que también superó 40 Megaohms.
El DC tensión suministrada por la compañía telefónica para detectar cualquier resistencia debido a teléfonos están fuera de gancho a veces es como 48 Volts.
I medido +23.02 Volts (DC), donde me llama el “cable rojo” positivo, y el “hilo verde” de tierra.
Tenga en cuenta que este DC voltaje cae dramáticamente cuando el teléfono se toma fuera de gancho; I +7.17 Volts (DC) medido cuando el teléfono está en el gancho fuera del estado.
Anillamiento de tensión se ha informado de que 90 Volts (16-60 Hz Corriente alterna), que puede startle o lesionar a personas bajo ciertas circunstancias.
10.2.2 Teléfono o módem en el “gancho fuera de” estado
Teléfonos y módems solicitar el uso de un cable de teléfono mediante la reducción de sus propias DC resistencia eléctrica.
Esta condición es detectado por el proveedor de teléfono y el cable se convierte en activo.
Cuando me DC mide la resistencia de un teléfono en el gancho fuera del estado, era de aproximadamente 6.83 Megaohms.
Cuando me DC mide la resistencia de un módem en el gancho fuera del estado, es casi exactamente 1.500 Megaohms.
Recordemos que ambos dispositivos han superado las resistencias que 40 Megaohms en cuando en el estado de gancho.
Curiosamente, esta resistencia es muy alto, cercano a un humano de la resistencia eléctrica al tocar los cables con las manos secas.
Por ejemplo, si tengo un alambre en mi mano izquierda, y un cable en mi mano derecha, con las manos relativamente seco, puedo obtener una resistencia tan baja como 0.5 Megaohms apretando firmemente sobre los cables.
Apretar muy ligera me da una mayor resistencia DC, aproximadamente 1.5 Megaohms, que al parecer es aún lo suficientemente bajo como para decirle a la compañía telefónica que soy un teléfono.
(No toque los cables telefónicos!)
Por lo tanto, uno puede simular tomar un teléfono o módem fuera de gancho sólo mediante la introducción de un 1 Megaohm a través de la resistencia de alambre de teléfono.
Uno puede hacer esto a través de un circuito con un relé controlado por un puerto en un ordenador (RS-232, parallel port, USB, etc), sino un módem es un cómodo, barato y versátil alternativa a la costumbre de relevo circuito.
Como se mencionó anteriormente, la compañía telefónica que mantiene una corriente continua (DC) diferencia de potencial (voltaje) a través del cable de teléfono para detectar teléfonos ir fuera de gancho y de regresar a la sobre-gancho estado.
I mide esta tensión como +23.02 Volts (DC) para el gancho, y para +7.17 Volts (DC) fuera de gancho.
10.3 Las señales de audio
Con el teléfono en el gancho fuera del estado, el “tono” de llamada parece haber una corriente alterna (AC) la media cuadrática (RMS) tensión de 0.139 Volts AC.
El conjunto de señales está sesgado por una importante DC voltaje de aproximadamente +5 Volts DC; I +7.17 Volts DC medido durante un experimento.
Las señales de audio son muy pequeñas desviaciones (sólo un pequeño tanto por ciento) en torno a esta DC tensión.
Esto significa, por ejemplo, que las señales de audio no fluctúan en torno a un cero de tensión, la señales de audio nunca hacer el flujo de corriente en sentido contrario en el cable de teléfono.
Resulta que mi teléfono interfaz circuito 0.139 VAC convierte la señal en torno a 0.030 VAC (es decir, 30 mV AC) para el uso de equipos de audio (por ejemplo, entrada de micrófono en una tarjeta de sonido).
10.4 Audio ancho de banda
La función principal de un sistema telefónico es permitir comunicaciones de voz entre los seres humanos.
El siguiente diagrama muestra la media espectral de energía durante unos segundos de audio del discurso.

Promedio de energía espectral (decibelios escala) de varios segundos de discurso para todo el rango audible (20 Hz a 20 kHz). La escala vertical está en decibelios, por lo que incluso una modesta disminución en este gráfico indica una disminución drástica en energía sonora.
La escala de decibelios el cuadro anterior significa que los valores más bajos en la tabla son en realidad órdenes de magnitud menos que los valores más altos en la tabla.
Es evidente que una parte significativa del total de energía de expresión de sonido está contenido en el intervalo de 0 Hz a 4000 Hz.
Los seres humanos pueden comprender discurso fiable incluso cuando todos los de audio de energía fuera del intervalo 300 Hz a 3000 Hz se elimina.
Sin embargo, el efecto subjetivo de la limitación de audio de energía a este rango es que las voces de sonido hace sordo y la falta de articulación.
La sutil diferencia entre 'F' y 'S' se pierden fácilmente en un teléfono.
El sistema telefónico en los Estados Unidos tiene un canal de voz que sólo lleva frecuencias entre 0 Hz a 4000 Hz.
Sin embargo, el paso de voz se limita a la gama 300 Hz a 3000 Hz, y hay un rápido aumento de atenuación de la voz de energía fuera de esta banda.

( 300 Hz - 3000 Hz ) ancho de banda de voz en el canal de voz ( 0 Hz - 4000 Hz ) del sistema telefónico en los Estados Unidos
La siguiente imagen es un espectral parcela de unos segundos de una típica conversación telefónica registrada.

Spectral parcela de unos segundos de una típica conversación telefónica registrada (voces masculinas)
A pesar de que la resolución de frecuencia es relativamente baja, el efecto de la limitación de ancho de banda del sistema telefónico es evidente.
Para fines experimentales, el audio propiedades de un sistema telefónico se pueden simular con un ecualizador gráfico, o un filtro de banda en una edición de sonido paquete de software, simplemente filtrando todo por debajo de 350 Hz y por encima de todo 3500 Hz.
10.5 Importante frecuencias de audio
El “toque tonos” utilizados para “marcar números” e interactuar con sistemas automatizados que se conoce como Dual-Tone Multi-Frequency (DTMF) señales.
Estos tonos se pueden generar simplemente mediante la adición de dos ondas sine junto con el buen frecuencias, tal y como se muestra en la siguiente matriz de frecuencias.
Tenga en cuenta que el mínimo de tiempo de cuando el envío de una DTMF sonido es 50 milliseconds, y el mínimo de tiempo de liberación (silencio brecha entre DTMF sonidos) es 50 milliseconds.
El uso de los retrasos de 200 milliseconds probablemente serían fiables.
El “tono de discado, señal” de “ocupado” y “anillo-back” sonidos también han definido las combinaciones de frecuencias en los Estados Unidos:
11. Otro teléfono interfaz métodos
Dedique $30 y cuatro horas para construir el circuito para permitir que un ordenador personal para enviar y recibir señales de audio en un cable de teléfono.
Esto requiere un cetain tipo de experiencia y equipo.
Asimismo, a menos que estén dispuestos a ir a por el negocio de la fabricación de este circuito, no se puede crear un producto (barato-mail de voz o contestador automático) que requiere esta interfaz.
La forma más fácil, barato alternativa al método de hardware que he descrito en este artículo es utilizar un método de software para acceder a las capacidades de voz de un “módem de voz.”
Sin embargo, debo decir que en comparación al uso de un circuito de costumbre, usando un módem de voz en conjunción con software especial es probable que sea muy especificos de plataforma y, en general, muy doloroso para programar, configurar y utilizar.
El beneficio (suponiendo que tiene una voz modem) es que esta sería una solución de software pura.
Si utiliza un módem de voz y software especial, su sistema podría ser tan simple como el siguiente diagrama.

Utilizando un sistema interno “de voz” y software de “módem”
Dependiendo de sus necesidades, los datos de voz aspecto de la voz módem puede ser half-duplex (es decir, el software puede “hablar” o “escuchar,” pero no ambas al mismo tiempo), o full-duplex.
Half-duplex puede añadir cierta complejidad para el control de software porque es necesario decidir el momento para transmitir y recibir audio.
La voz digitaliza modem cable de audio de teléfono y transmite los datos a lo largo USB o si RS-232 exterior, o más PCI el autobús, si el interno.
12. Microsoft Telephony API (TAPI)
Microsoft sistemas operativos han TAPI 2.0 y TAPI 3.0 DLLs.
TAPI 3.0 podría tener numerosos problemas de software, y la mayoría de las personas que han utilizado Microsoft TAPI simplemente han utilizado TAPI 2.0 (que tiene casi todas las funcionalidades deseadas) en lugar de TAPI 3.0.
Utilice el “wave/in” y “wave/out” dispositivos para acceder a una voz del módem flujos de audio.
Véase el libro TAPI en la sección de referencias de este artículo. El libro es viejo, sino que describe en detalle TAPI 2.0.
13. Java Telephony API
No sé nada sobre el Java Telephony API.
Sin embargo, supongo que tiene la ventaja de ser independiente de los sistemas operativos, y probablemente tiene mucho más simples abstracciones que el Microsoft TAPI!
14. Varios productos comerciales
Comercial, montado en rack de hardware para múltiples interfaces externas cables telefónicos son capaces de intercambio de datos de voz con los ordenadores.
“Voice Over IP” (VoIP) productos, tales como “Internet, teléfonos,” están ahora en todas partes (por ejemplo, “Skype).”
Es evidente que los programas informáticos pueden acceder fácilmente a las de audio para tales conexiones telefónicas.
15. Referencias
Mejor, más completa guía de teléfono circuitos que he encontrado en Internet:
Otra referencia interesante:
Hilarante (y loco) guía de teléfonos de pago en torno a los Estados Unidos y Canadá:
(Vea los “principales contribuyentes” de pago números de teléfono, el teléfono muestras de audio, el teléfono y las imágenes.)
16. Libros
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)
Este libro describe muchos aspectos de los circuitos telefónicos y el funcionamiento de la red telefónica en los EE.UU..
Hay muchos detalles acerca de los circuitos y protocolos; todo, desde un teléfono a la red telefónica propia.
Sin lugar a dudas la tecnología es muy diferente ahora, pero este libro es probablemente algo más práctico que un libro de historia.
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)
El Microsoft Telephony API (TAPI) es innecesariamente confuso y desordenado, y ahora está muy obsoleta. El libro se ha mencionado anteriormente podría ser el único libro que jamás publicados sobre el Microsoft Telephony API (TAPI).