TODOPIC
Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: TeNeX en 26 de Mayo de 2009, 05:44:14
-
Hola que tal, he estado "googleando" y di con este foro, el asunto es que no he encontrado la manera de " escuchar " el comX donde este el modem es decir COM1, COM2, COM3 ¿paraque? pues como dice el titulo necesito saber en que momento el modem detecta un RING, y al momento de detectarlo que ejecute un archivo ya sesa un .bat, exe, doc, etc
la finalidad es que tengo mi linea telefonica conectada al modem, yo llamo a casa y al sonal el telefono, el programa debe detectar la llamada entrante y ejecutar el archivo... esto debe ser en C para windows XP
claro el profesor dijo que lo optimo seria filtrar las llamadas entrantes, ejecutar el archivo y cortar la llamada, es decir que no con cualquier num de tel se ejecute el archivo pero con la finalidad unica de poder realizar el proyecto solo es detectar la señal del modem y ejecutar un archivo...
de verdad que no he encontrado como hacerlo o tal vez he buscado mal, si he visto que con vb usan el evento mscomm e incluso hay otro que se llama TAPI pero desafortunadamente lo necesito en C tengo instalado cygwin y uso gcc pero no tengo inconveniente con usar algun otro compilador... espero puedan ayudarme
-
Hola, conozco dos maneras de hacerlo, en primer lugar es detectar cambios en la linea de hardware RI ( ring indicator ) asociada al Modem, que cambia de estado cuando el Modem detecta señal de llamada. La otra manera es detectar la palabra "RING" por la linea de recepción. Estas dos cosas las podes probar con algun programa terminal y despues los volcas a cualquier lenguaje.
Saludos !
-
Hola.
Si configuras el modem con AT+CLIP, tambien se visualizara el numero que esta llamando, luego solo se vera RING por cada tono de llamada. Es mejor detectar el string RING tal como lo mensiona Richi
-
Hola MLO, esta barbaro lo que decis, lo úncico a tener en cuenta es que no en todos los paises en servicio de caller-id es gratuito
para el comando AT+CLIP
Saludos !
-
claro, detectar el ring seria lo mas apto, el país es México y la linea si cuenta con identificador de llamadas...
pero con que api, headers, o que necesito hacer para poder detectar la llamada entrante , ring, etc ?
-
Hola TeNeX, en primer lugar deberias aprender a manejar un puerto serie desde Windows, para eso necesitas saber de estas API de Win32:
- CreateFile
- SetCommState
- SetupComm
- ClearCommError
- ReadFile
- WriteFile
Una vez que sepas abrir, setear, leer y escribir un Com vas a poder leer lo que el Modem te envie cuando recibe una señal de llamada.
Saludos !
PD. Hay muchisima info en la web y en todos los lenguajes, solo es necesario buscarla.
-
hey mucha sgracias, buscare eso que me dices en internet, y cualquier aporte adicional sera muy bien recibido y agradecido
-
Aca te dejo un link con informacion mas detallada.
http://etutorials.org/Programming/Pocket+pc+network+programming/Chapter+5.+Using+Serial+and+Infrared+Ports/Serial+Communications/
Saludos !
-
HEY MUCHAS GRACIAS!!
-
para esto debes estudiar los pines de acceso que utiliza el micro rx tx, investigar muy a fondo lo que consierne a puerto serial, utilizando este con sotfware como el hiperterminal o siow entre otros, para lenguaje c debes estar leyendo el moden, utilizando una cadena de caracteres y posteriormente realizar una comparacion entre ring y los caracteres alli almacenados....