none
Caller ID C# RRS feed

  • Pregunta

  • Hola! Quiero desarrollar una aplicación que me reciba el número de teléfono que está llamando a un teléfono fijo u celular, el teléfono fijo estaría conectado en la misma red que la computadora , hay alguna manera de hacerlo? He leído algo como que hay que escuchar en un puerto configurado el envío de paquetes pero no me queda claro aún, talvez exista alguna API o algo para hacerlo más sencillo

    Gracias por la ayuda!

    domingo, 18 de abril de 2021 22:21

Respuestas

  • Exacto. El cable desde la roseta telefónica va a la entrada del modem. En la salida del modem, se enchufa el teléfono que antes estaba enchufado en la roseta. Esto permite usar el teléfono con normalidad, sin que se vea afectado por el modem. Y el puerto serie del módem se conecta al puerto serie del ordenador. Ten presente que si es un modem moderno puede ser que tenga un puerto USB en lugar de un puerto serie, pero en estos casos se acompaña de un "driver" que emula un puerto serie, con lo que desde el punto de vista del software lo sigues manejando como si fuera un puerto serie auténtico.

    Y en cualquiera de los dos casos, a través del puerto serie te llega una cadena de caracteres con el texto RING cada vez que suena el timbre del teléfono, y entre medias del primer y segundo RING (o el segundo y el tercero, dependiendo del pais) te llega el número llamante si es que tu línea tiene activada la identificación de llamadas.

    • Marcado como respuesta DanDuarteM lunes, 19 de abril de 2021 22:51
    lunes, 19 de abril de 2021 20:33

Todas las respuestas

  • Si es un teléfono fijo, puedes interponer un Modem en el cable del teléfono. Aunque no tengas ninguna intención de usar el modem para transmitir datos, cuando se recibe una llamada este aparato transmite por el puerto serie una cadena de texto que contiene el CallerId. Si ese puerto serie lo conectas al puerto serie del ordenador, puedes recibir esa cadena usando cualquier herramienta que escuche el puerto serie. Si estás programando en .NET, puedes usar para ello la clase SerialPort.

    Cuando entre una llamada, el SerialPort te devolverá una cadena de caracteres con un formato fijo que contiene embebido el número llamante (si es que la línea tiene Caller ID).

    lunes, 19 de abril de 2021 6:19
  • Hola,

    Gracias por levantar tu consulta en los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    lunes, 19 de abril de 2021 14:03
    Moderador
  • Hola! Gracias por la información

    No sé si entendí bien, entonces conecto el teléfono fijo al módem y la computadora también, utilizo SerialPort para recibir los datos es así?

    Gracias

    lunes, 19 de abril de 2021 19:28
  • Exacto. El cable desde la roseta telefónica va a la entrada del modem. En la salida del modem, se enchufa el teléfono que antes estaba enchufado en la roseta. Esto permite usar el teléfono con normalidad, sin que se vea afectado por el modem. Y el puerto serie del módem se conecta al puerto serie del ordenador. Ten presente que si es un modem moderno puede ser que tenga un puerto USB en lugar de un puerto serie, pero en estos casos se acompaña de un "driver" que emula un puerto serie, con lo que desde el punto de vista del software lo sigues manejando como si fuera un puerto serie auténtico.

    Y en cualquiera de los dos casos, a través del puerto serie te llega una cadena de caracteres con el texto RING cada vez que suena el timbre del teléfono, y entre medias del primer y segundo RING (o el segundo y el tercero, dependiendo del pais) te llega el número llamante si es que tu línea tiene activada la identificación de llamadas.

    • Marcado como respuesta DanDuarteM lunes, 19 de abril de 2021 22:51
    lunes, 19 de abril de 2021 20:33
  • Muchas Gracias por la información
    lunes, 19 de abril de 2021 22:52
  • Hola! Tengo un problema , el módem veo que si tiene una entrada para el teléfono, pero no tiene otros puertos , solo  2 thernet más, como lo conecto al PC?
    lunes, 10 de mayo de 2021 16:53
  • Tiene que tener alguna manera de conectarlo al PC, sino no sería un modem. ¿Puedes poner una imagen de las conexiones, o del manual, o algo que nos permita ver que aspecto tiene?

    Normalmente el módem NO tendrá puertos Ethernet, a no ser que se trate de un router en lugar de un modem, en cuyo caso no se aplica nada de lo dicho anteriormente.

    Si ves un conector rectangular con contactos en un lado, cuenta cuántos contactos contiene. El conector Ethernet tiene 8, mientras que el conector para línea telefónica o para teléfono tiene visualmente el mismo aspecto que el Ethernet pero es ligeramente más estrecho y solo tiene 6 contactos en lugar de 8.

    Si los conectores son efectivamente Ethernet, entonces no es un módem sino un router, y no sirve para saber el teléfono que te está llamando.

    lunes, 10 de mayo de 2021 17:01
  • Problamente si sea un router, es un Hitron y tiene un botón que dice WPS, no me permite adjuntar imagen, y tampoco veo una antena en este dispositivo



    • Editado DanDuarteM lunes, 10 de mayo de 2021 17:29
    lunes, 10 de mayo de 2021 17:28
  • WPS es para configurar la WiFi, así que sí que debe de ser un router.

    No hace falta que se vea una antena, puede perfectamente ser interna.

    lunes, 10 de mayo de 2021 17:38
  • Muchas Gracias
    lunes, 10 de mayo de 2021 17:47
  • Resultó que la central de taxis en la que hago el programa, tienen una planta telefónica Panasonic tes824 en esta si que veo un puerto serie, este dispositivo si utilizo SerialPort me permitiría obtener el número que llama?


    jueves, 13 de mayo de 2021 1:46
  • Sí, si sabes configurar la planta telefónica para que envíe el número por su salida serie. Nunca lo he hecho con una de Panasonic, pero hace ya muchos años trabajé con una de Siemens y transmitía todos los datos de las llamadas, que se podían recoger desde un ordenador a través del puerto serie sin ningún problema.
    jueves, 13 de mayo de 2021 6:32
  • Intentare buscar informacion sobre ello, tienen esa planta telefónica y un Router Hitron CGNV2 con un puerto para una línea y dos puertos RJ45

    Pero si la mayoría de módem traen un puerto para línea RJ11 y si esa la ocupo para conectar desde la roseta teléfonica al módem, como conecto el teléfono al módem, tendré que conseguir una toma doble RJ11?



    • Editado DanDuarteM jueves, 13 de mayo de 2021 20:49
    jueves, 13 de mayo de 2021 20:47
  • si la mayoría de módem traen un puerto para línea RJ11 y si esa la ocupo para conectar desde la roseta teléfonica al módem,

    Solo los modems modernos super-baratos son así. Lo módems "de toda la vida", que eran como un ladrillo, tenían dos conectores en la parte de atrás: uno para el cable que va a la roseta y otro para conectar el teléfono.

    como conecto el teléfono al módem, tendré que conseguir una toma doble RJ11?

    Sí, necesitas un conector que es como una bifurcación, de forma que la roseta de la pared se desdobla en dos, uno para el teléfono y otro para el módem (ejemplo). Esto tiene la desventaja frente al modem con dos tomas de que no te desconecta el teléfono cuando el módem está usando la línea, por lo que pierdes la comunicación si accidentalmente descuelgas el teléfono mientras el módem está transmitiendo datos. Pero si solo vas a usar el módem para interceptar el número llamante (y no para hacer comunicación de datos), esto no te afecta.

    viernes, 14 de mayo de 2021 6:19