Hola a todos aquí les dejo el resultado de lo que tuve que investigar, quiero aclarar que no invente la pólvora ni nada por el estilo je. Estos son algunos de los enlaces que use: Código en VB.Net Algunos comandos AT y prueba con Hyper Terminal Comandos por shell (Linux) Utilizando y registrando el objeto MSComm32.ocx Creando un identificador con Power Builder Bueno después de leer un poco de todo eso les dejo lo que yo hice. Para empezar lo más dificil de esto es hacer las pruebas (aguante la prueba y el error) ya que nada sale a la primera. Requisitos:
- Debemos tener el servicio pago de identificación de llamadas.
- Debemos tener un modem que soporte identificación de llamadas.
- Debemos tener el ocx MSCOMM32 registrado (para programar).
[HKEY_CLASSES_ROOTLicenses4250E830-6AC2-11cf-8ADB-00AA00C00905]@ = "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun"
ya saben regedit.exe y asi se ubican en la ruta que dice arriba.
Una vez registrado el objeto ya lo pueden usar,aquí les dejo un poco de mi código (Power Builder): Esta función abre los puertos (mi objeto MSComm32 se llama ole_com) Esta Función of_abrir_puerto if ole_com.object.PortOpen then ole_com.object.PortOpen = false ole_com.object.settings = is_pars // <--- Parametros ole_com.object.CommPort = ii_Comm // <--- Puerto COM ole_com.object.PortOpen = True ole_com.object.inputlen = ii_lon // <--- Longitud de lectura //le ordenamosque capture el CID(CallerID) ole_com.object.Output="ATZ" + Char(13) ole_com.object.Output="AT#CID=1" + Char(13) ole_com.object.Output="ATS0=3"+Char(13) //NOTE--DEPENDING ON YOUR MODEM, YOU //WILL NEED TO USE EITHER "AT#CID=1", //"AT#VCID=1", "AT+CID=1", "AT+VCID=1" //OR POSSIBLY ANOTHER. THIS IS THE CID //INITIALIZATION STRING FOR THE MODEM AND VARIES //BY MODEM. Esta función captura el número de teléfono Esta función of_ring string ls_texto,ls_Number try ls_texto = ole_com.object.Input ls_Number = Mid(ls_texto, Pos(ls_texto, 'NMBR') + 7, 11) is_input=ls_number return true catch ( Exception Ex) return false end try Esta función setea los parámetros desde un archivo .ini función of_get_parametros ii_Comm = integer(ProfileString('siscom.ini','Modem','puerto','2')) is_pars = ProfileString('siscom.ini','Modem','parametros','2400,n,8,2') ii_lon = integer(ProfileString('siscom.ini','Modem','inputlen','0')) ii_t_espera = integer(profileString('siscom.ini','Modem','t_espera','0.25')) ii_ca_iteraciones = integer(profileString('siscom.ini','Modem','ca_iteraciones','800')) Bueno bueno, espero que les haya servido. Y recuerden el mejor tutorial es el que lo hacen uds mismos investigando. Nadie les va a decir todo. Nos vemos
thanks for sharing this important tips about PowerBuilder programming services .
ResponderEliminar