
Llamada telefonica...
#1
Posted 29 January 2009 - 04:14 PM
Hice una pequeña aplicación de agenda telefónica, ahora me gustaria agregarle un boton que diga LLAMAR, he revisado y unos dicen por componentes otros por comandos AT.
He vistos los ejemlos de TApro pero no lo entendi mucho, que me recomiendan? que han hecho ustedes?
#2
Posted 29 January 2009 - 04:20 PM
[off-topic]Parece un proyecto interesante es privado o piensas liberar el código

#3
Posted 29 January 2009 - 04:21 PM
Tengo pensado ir haciendo un call center, poco a poco.
Hice una pequeña aplicación de agenda telefónica, ahora me gustaria agregarle un boton que diga LLAMAR, he revisado y unos dicen por componentes otros por comandos AT.
He vistos los ejemlos de TApro pero no lo entendi mucho, que me recomiendan? que han hecho ustedes?
Hola
Los componente APro tienen un objeto que es TAPI, con ese puedes solucionar el problema, sin embargo si quieres hacer uso de comandos AT, con el componente ApdComPort del APro puedes generar las cadenas de comandos de esta forma
ApdComPort1.PutString('ATDT 9,5555555555');
Nota: Suponiendo que estes usando una central telefonica y que uses el número 9 para toma de línea.
y para colgar la llamada
ApdComPort1.PutString('ATH0');
Salud OS
#4
Posted 29 January 2009 - 04:26 PM
Si vas a usar un módem y solo quieres marcar el numero es tan fácil como enviar el texto ATDnumerodetelefono por el puerto serie. Yo no creo que para eso necesites ningún componente adicional. basta con abrir el puerto y escribir el comando.
[off-topic]Parece un proyecto interesante es privado o piensas liberar el código[/off-topic]
bueno lo podemos publicar, sabes que no soy celoso con ese respecto.
Tengo pensado ir haciendo un call center, poco a poco.
Hice una pequeña aplicación de agenda telefónica, ahora me gustaria agregarle un boton que diga LLAMAR, he revisado y unos dicen por componentes otros por comandos AT.
He vistos los ejemlos de TApro pero no lo entendi mucho, que me recomiendan? que han hecho ustedes?
Hola
Los componente APro tienen un objeto que es TAPI, con ese puedes solucionar el problema, sin embargo si quieres hacer uso de comandos AT, con el componente ApdComPort del APro puedes generar las cadenas de comandos de esta forma
delphi
ApdComPort1.PutString('ATDT 9,5555555555');
Nota: Suponiendo que estes usando una central telefonica y que uses el número 9 para toma de línea.
y para colgar la llamada
delphi
ApdComPort1.PutString('ATH0');
Salud OS
Ok, probare la opcion de directo a puerto, asi no me complico la vida. voy a ver.
#5
Posted 29 January 2009 - 04:26 PM
Si vas a usar un módem y solo quieres marcar el numero es tan fácil como enviar el texto ATDnumerodetelefono por el puerto serie. Yo no creo que para eso necesites ningún componente adicional. basta con abrir el puerto y escribir el comando.
[off-topic]Parece un proyecto interesante es privado o piensas liberar el código[/off-topic]
Tienes razón, en la consola de comandos haces esto
Hacer llamada
copy ATDT 9,55555555 > com3:
Colgar llamada
copy ATH0 > com3:
Salud OS
#6
Posted 29 January 2009 - 04:30 PM
#7
Posted 29 January 2009 - 04:36 PM
Tienes razón, en la consola de comandos haces esto
Hacer llamada
copy ATDT 9,55555555 > com3:
Colgar llamada
copy ATH0 > com3:
Salud OS
:^) ¿copy o echo?
De todas formas, desde delphi se puede abrir el puerto con la función CreateFile, que era en lo que yo estaba pensando. Por cierto tengo oxidados los comandos AT como se puede ver en mi anterior respuesta

#8
Posted 29 January 2009 - 04:42 PM
:^) ¿copy o echo?
De todas formas, desde delphi se puede abrir el puerto con la función CreateFile, que era en lo que yo estaba pensando. Por cierto tengo oxidados los comandos AT como se puede ver en mi anterior respuesta
Pues yo digo que es copy, pero no voy a discutir contigo en esos menestere


En todo caso podemos usar el mismo codigo que creaste para recibir datos de puerto serie y pues ahi podemos hacer un buen proyecto, que a decir verdad me interesa tambien

Salud OS
#9
Posted 29 January 2009 - 04:50 PM
A mi también me parece un proyecto interesantepues ahi podemos hacer un buen proyecto

Ahora lo que necesito es tiempo

#10
Posted 29 January 2009 - 05:08 PM
Solo quiero comentar que para hacer un buen Call Center, no se debería de usar modems sino tarjetas especiales de voz como son Dialogic y/o Brooktrout, estas tarjetas son especiales para el procesamiento de voz.
Salud OS
#11
Posted 30 January 2009 - 07:19 AM
Lo que comentas es cierto, intente con Fax Voice, pero igual no pude enviar voz, solo se oye la persona al otro extremo pero esta no puede oirme. Solucion: Conecte una extension al central y le coloque el manos libres, problema resuelto. Con respecto a lo de comprar las tarjetas deja ver si las encuentro aqui que con este problema del dolar hay muchas limitantes, cuales serian las principales ventajas de utilizarlas?
#12
Posted 30 January 2009 - 07:27 AM
copy ATDT 0,7935040 >COM7
no funciona, probe tambien:
copy ATDT 0,7935040 >COM3
nada de nada, luego cambie copy por echo y los resultados todos iguales, alguien sabe que puedo mover ??? o tengo que Decirle a Carlos que borre todo

Bueno instale un monitor de puerto, y lo coloque a que espiara a COM7, esto es lo que sale cuando hago el copy
Puerto abierto mediante el proceso "cmd.exe" (PID: 1732)
45 6C 20 73 69 73 74 65 6D 61 20 6E 6F 20 70 75 El sistema no pu
65 64 65 20 68 61 6C 6C 61 72 20 65 6C 20 61 72 ede hallar el ar
63 68 69 76 6F 20 65 73 70 65 63 69 66 69 63 61 chivo especifica
64 6F 2E 0D 0A do...
Puerto cerrado
#13
Posted 30 January 2009 - 07:46 AM
Puerto abierto mediante el proceso "cmd.exe" (PID: 1732)
41 54 44 54 20 30 2C 37 39 32 35 30 34 30 20 0D ATDT 0,7925040 .
0A .
Puerto cerrado
voy a hacer la llamada con el terminal server y copiare los resultados
#14
Posted 30 January 2009 - 07:51 AM
estos son los resultados, y si marca
Puerto abierto mediante el proceso "svchost.exe" (PID: 1236)
41 54 0D AT.
Respuesta:30/01/2009 09:17:34 a.m..77364 (+0.0156 seconds)
41 54 0D 0D 0A 4F 4B 0D 0A AT...OK..
Pedido:30/01/2009 09:17:34 a.m..96064 (+0.0156 seconds)
41 54 26 46 20 45 30 20 51 30 20 58 34 20 53 30 AT&F E0 Q0 X4 S0
3D 30 20 26 44 32 20 26 43 31 20 26 53 30 20 56 =0 &D2 &C1 &S0 V
31 20 57 34 20 45 31 0D 1 W4 E1.
Respuesta:30/01/2009 09:17:34 a.m..99264 (+0.0313 seconds)
41 54 26 46 20 45 30 20 51 30 20 58 34 20 53 30 AT&F E0 Q0 X4 S0
3D 30 20 26 44 32 20 26 43 31 20 26 53 30 20 56 =0 &D2 &C1 &S0 V
31 20 57 34 20 45 31 0D 0D 0A 4F 4B 0D 0A 1 W4 E1...OK..
Pedido:30/01/2009 09:17:35 a.m..57064 (+0.0000 seconds)
41 54 53 37 3D 36 30 53 33 30 3D 30 4C 30 4D 31 ATS7=60S30=0L0M1
2B 45 53 3D 33 2C 30 2C 32 3B 25 43 31 2B 44 53 +ES=3,0,2;%C1+DS
3D 33 2C 30 3B 26 4B 33 58 34 0D =3,0;&K3X4.
Respuesta:30/01/2009 09:17:35 a.m..61764 (+0.0469 seconds)
41 54 53 37 3D 36 30 53 33 30 3D 30 4C 30 4D 31 ATS7=60S30=0L0M1
2B 45 53 3D 33 2C 30 2C 32 3B 25 43 31 2B 44 53 +ES=3,0,2;%C1+DS
3D 33 2C 30 3B 26 4B 33 58 34 0D 0D 0A 4F 4B 0D =3,0;&K3X4...OK.
0A .
Pedido:30/01/2009 09:17:35 a.m..13264 (+0.0156 seconds)
41 54 0D AT.
Respuesta:30/01/2009 09:17:35 a.m..16464 (+0.0313 seconds)
41 54 0D 0D 0A 4F 4B 0D 0A AT...OK..
Pedido:30/01/2009 09:17:36 a.m..35164 (+0.0000 seconds)
41 54 26 46 20 45 30 20 51 30 20 58 34 20 53 30 AT&F E0 Q0 X4 S0
3D 30 20 26 44 32 20 26 43 31 20 26 53 30 20 56 =0 &D2 &C1 &S0 V
31 20 57 34 20 45 31 0D 1 W4 E1.
Respuesta:30/01/2009 09:17:36 a.m..39864 (+0.0469 seconds)
41 54 26 46 20 45 30 20 51 30 20 58 34 20 53 30 AT&F E0 Q0 X4 S0
3D 30 20 26 44 32 20 26 43 31 20 26 53 30 20 56 =0 &D2 &C1 &S0 V
31 20 57 34 20 45 31 0D 0D 0A 4F 4B 0D 0A 1 W4 E1...OK..
Pedido:30/01/2009 09:17:36 a.m..94564 (+0.0000 seconds)
41 54 53 37 3D 36 30 53 33 30 3D 30 4C 30 4D 31 ATS7=60S30=0L0M1
2B 45 53 3D 33 2C 30 2C 32 3B 25 43 31 2B 44 53 +ES=3,0,2;%C1+DS
3D 33 2C 30 3B 26 4B 33 58 34 0D =3,0;&K3X4.
Respuesta:30/01/2009 09:17:36 a.m..99264 (+0.0469 seconds)
41 54 53 37 3D 36 30 53 33 30 3D 30 4C 30 4D 31 ATS7=60S30=0L0M1
2B 45 53 3D 33 2C 30 2C 32 3B 25 43 31 2B 44 53 +ES=3,0,2;%C1+DS
3D 33 2C 30 3B 26 4B 33 58 34 0D 0D 0A 4F 4B 0D =3,0;&K3X4...OK.
0A .
Pedido:30/01/2009 09:17:37 a.m..50764 (+0.0156 seconds)
41 54 44 54 30 37 34 31 30 30 36 32 0D ATDT07410062.
Respuesta:30/01/2009 09:17:37 a.m..53964 (+0.0313 seconds)
41 54 44 54 30 37 34 31 30 30 36 32 0D ATDT07410062.
Pedido:30/01/2009 09:17:41 a.m..99264 (+4.4531 seconds)
0D .
Respuesta:30/01/2009 09:17:41 a.m..14864 (+0.1563 seconds)
0D 0A 42 55 53 59 0D 0A ..BUSY..
Pedido:30/01/2009 09:17:41 a.m..16464 (+0.0156 seconds)
41 54 48 0D ATH.
Respuesta:30/01/2009 09:17:41 a.m..19564 (+0.0313 seconds)
41 54 48 0D 0D 0A 4F 4B 0D 0A ATH...OK..
Puerto cerrado
#15
Posted 30 January 2009 - 07:55 AM
- Que YO tenia razón y era echo

- Y que antes de mandar el comando ATDT hay que mandar los comandos de inicialización del módem.
#16
Posted 30 January 2009 - 08:01 AM
#17
Posted 30 January 2009 - 08:20 AM
ATDT 07410062 + #13
de hecho si se fijan en el envio del hyperterminal termina en AT. en hexadecimal 41 54 0D donde 41 = A 54 = T 0D = #13 o salto de carro
Bueno, ahora hay que decidir que componentes utilizar para que todos podamos compilarlo sin problema, para eso abrire un hila mas tarde
Gracias a todos por el dato.
#18
Posted 31 January 2009 - 05:01 PM
Pues de lo que expones sacamos dos conclusiones:
- Que YO tenia razón y era echo
- Y que antes de mandar el comando ATDT hay que mandar los comandos de inicialización del módem.



Salud OS
#19
Posted 31 January 2009 - 05:32 PM
![]()
![]()
, Pues que bueno que dije que no iba a debatir contigo jejejeje
No es un debate, solo estaba resaltado un hecho


Ahora en serio, como le vamos a entrar a esto de la llamada. Podríamos usar un método similar al del thread que identificaba las llamadas, pero con un método que enviara el comando al puerto serie. Aunque también podríamos usar la TAPI de windows, el módem tendría que estar instalado en windows, con sus drivers, pero lo bueno es que windows se encargaría de manejar el módem
#20
Posted 31 January 2009 - 07:54 PM
![]()
![]()
, Pues que bueno que dije que no iba a debatir contigo jejejeje
No es un debate, solo estaba resaltado un hecho![]()
Ahora en serio, como le vamos a entrar a esto de la llamada. Podríamos usar un método similar al del thread que identificaba las llamadas, pero con un método que enviara el comando al puerto serie. Aunque también podríamos usar la TAPI de windows, el módem tendría que estar instalado en windows, con sus drivers, pero lo bueno es que windows se encargaría de manejar el módem
Yo creo que lo mejor seria a travès de TAPI, esto porque a futuro serà necesario entrarle a la cosa de VOZ y FAX.
Voy a reunir informaciòn acerca de este tipo de sistemas.
Salud OS