2009-07-29 20 views
9

Hola, quiero usar un módem de 56K para obtener el número de teléfono de quien llama al teléfono de la casa, ¿hay alguna manera de lograr esto con C#?¿Cómo obtener el identificador de llamadas en C#?

+0

¿Podría alguien con conocimiento del tema responder esta pregunta? –

+1

Eso es increíble, solo tiene una ventana emergente o algo así cada vez que suena el teléfono. Desventaja: ¿Quién tiene un teléfono fijo más ... – tsilb

Respuesta

17

No todos los módems admiten identificador de llamadas. Y para aquellos que lo hacen, la implementación varía entre fabricantes.

La identificación de la persona que llama se pasa a través de los datos en serie, por lo que tendrá que usar TAPI library (o Windows 'HyperTerminal para probarla). El número de identificación de la persona que llama normalmente aparece entre el primer y el segundo timbre.

Deberá emitir un comando al módem para activar el identificador de llamadas. Por lo general:

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

OK

Consulte la documentación de su módem.

Cuando entra una llamada, el módem recibirá la cadena de una llamada. Por lo general:.

RING

A continuación, el texto de identificación de llamadas vendrá en Si estoy recordando correctamente, será en la forma:

NMBR=XXXXXXXXXX

[Estoy buscando una referencia. Voy a publicar un enlace cuando lo pueda encontrar]

ACTUALIZACIÓN: Ah, fundar una. Echa un vistazo a esta página para los comandos y cadenas de conexión para módems por diversas:

How to Test a Modem for Caller ID Support

+0

bien, lo intentaré en casa, será muy bueno si encuentras una referencia. Gracias. – zer0w1dthspace

5

Es posible, pero hay algunas cosas sobre él debe tener en cuenta:

  • Usted todavía tiene que tener identificador de llamadas con el apoyo de su operador/proveedor. Una línea POTS básica no incluirá esta información a menos que el operador haya hecho un trabajo adicional para agregarla. Por lo tanto, no puede hacer esto para evitar pagar una tarifa extra de identificación de llamadas.
  • No está integrado en .Net. Tendrá que llamar a la biblioteca básica TAPI. Nunca he trabajado con esta biblioteca, así que eso es todo lo que puedo decirte.
+0

Estoy seguro de que mi línea telefónica es compatible con la identificación de llamadas porque el teléfono muestra el número de la persona que llama en su pantalla. Continuaré con TAPI, gracias. – zer0w1dthspace

3

serialPort1.Open(); serialPort1.WriteLine ("AT # cid = 1" + System.Environment.NewLine); // donde serialPort1 es el control serie para más detalles, consulte el siguiente enlace: http://www.itworld2.com/frmsCsharp.aspx

+0

heh, no sabía que puede agregar esos comandos de cadenas con el método writeline ... tnx (aunque el enlace no funciona) –

Cuestiones relacionadas