PDA

Ver la Versión Completa : Como realizar y detectar una llamada telefonica


BuenaOnda
10-04-2006, 17:35:14
Hola Amigos..

Quisiera saber como puedo realizar y detectar una llamada telefonica desde mi Pc, a traves del modem, si existe algun componente o algun API de windows que me permita realizar esto.


Muchas Gracias....;)

Nbull
10-04-2006, 18:32:18
Hay unos componentes llamados Tapi (http://www.commso.com/), que te permiten hacer este tipo de cosas.

El problema es que son de pago y solo te dejan usar una demo,pruebalos y si crees que los necesitas pues ya sabes, tendras que comprarlos.

Un saludo.

Sotrono
10-04-2006, 18:32:27
Hola, podes usar los componentes APRO, bajalos desde Torry.net.
Para la parte de programación, busca en el foro porque hay bastante info sobre eso.

Bytes...

BuenaOnda
10-04-2006, 18:47:31
gracias por su ayuda amigos....

seoane
11-04-2006, 20:11:25
Si solo quieres realizar la llamada puedes usar el comando ATD. Aqui te dejo una funcion con la que podras marcar un numero de telefono, desde un moden o un telefono movil conectado a un puerto serie.


function Marcar(Puerto: String; Telefono: String): Boolean;
var
hPort: THandle;
DCB: TDCB;
Comando: String;
Escritos: Cardinal;
begin
Result:= FALSE;
Puerto:= Uppercase(Puerto);
// Cambiar esto si es necesario un puerto diferente
if (Puerto<>'COM1') and (Puerto<>'COM2') then
exit;
hPort:= CreateFile(PChar('\\.\'+Puerto), GENERIC_READ or GENERIC_WRITE,0, nil,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if hPort<>INVALID_HANDLE_VALUE then
begin
DCB.DCBlength:= sizeof(DCB);
if GetCommState(hPort,DCB) then
begin
// Cambiar esto para una configuracion del puerto diferente
with DCB do
begin
BaudRate := CBR_9600;
ByteSize := 8;
Parity := NOPARITY;
StopBits := ONESTOPBIT;
Flags := $01;
end;
if SetCommState(hPort, DCB) then
begin
PurgeComm(hPort, PURGE_TXABORT or PURGE_RXABORT or PURGE_TXCLEAR or
PURGE_RXCLEAR);
Comando:= 'ATD'+Telefono+#13;
Result := WriteFile(hPort, PChar(Comando)^, Length(Comando), Escritos, nil);
end;
end;
CloseHandle(hPort);
end;
end;


En cuanto a lo de detectar la llamada, eso depende de lo que quieras decir con detectar. La mayoria de los modem mandan el texto 'RING' a traves del puerto serie cuando estan recibiendo una llamada ( :) Algo asi como el timbre del telefono pero en modo texto) si solo necesitas eso solo tienes que esperar a que mande esa cadena por el puerto. Si por el contrario quieres identificar el numero del que llama ya es mas complicado, y seguiria el consejo que te dieron de que te buscaras algun componente apropiado.

santiago14
13-04-2006, 00:25:08
Hay un componente muy bueno, ComPort, que hace lo que estás pidiendo, no recuerdo la dirección en este momento pero si pones en el buscador del club "comport" lo encontrarás.
Son free y muy buenos, eso si, requieren un poquito mas de programación que los APRO para recibir y enviar llamadas.

Para identificar llamadas necesitas que tu compañía telefónica te habilite el servicio, se llama CALLER ID y también hay documentación al respecto en el club.

Saludos.

javier7ar
04-11-2006, 16:30:49
donde puedo bajar los componentes APRO ?? busque APRO en torry.net y no los encontro. Aparecen con otro nombre ?? Como debo buscarlos ?? Si alguien tiene el link para bajarlos se los agradeceria
Gracias

Sotrono
04-11-2006, 17:27:34
Bajalo de aca (http://sourceforge.net/projects/tpapro/)

Salud2!!

rusadir
06-11-2006, 12:33:10
aprovechando este interesante hilo queria preguntar para completarlo si
lo que habeis dicho anterior se puede aplicar a las lineas rdsi y sino como se podria hacer si la linea que te llega es una rdsi y a traves de una centralita,

gracias de antemano a todos/as

Durbed
21-12-2006, 13:10:03
Estoy intentando implementar un identificador de llamadas, de momento ya tengo el modem adecuado y estoy dado de alta en el servicio de identificacion y he probado una demo para ver si funciona y en ese sentido esta todo bien pues la demo esa funciona ;).

Estoy intentandolo con los APRO y lo primero que hice fue leerme un poco la documentación y bingo, que suerte habia un ejemplo en los APRO que hacia lo que estaba buscando. Pero rapido se encargaron de pincharme el globo :confused: el problema es que el modem no soporta "voice extensions" y por tanto el componente ApdTapiDevice no me sirve. El ejemplo es "ExVoice.dpr"

Creo que se puede hacer con otro componente AdModem, pero no se como :confused: a ver si alguien puede arrojar un poco de luz en el tema.

Un saludo y gracias

patoaballay
29-03-2007, 17:55:25
alguien trabajó con el componente TAPI de los APRO para recibir llamadas?? se puede reproducir archivos .wav a traves de este componente??

jhonny
29-03-2007, 18:37:44
Hasta donde se a través de ese componente no puedes reproducir archivos WAV, pero con ellos puedes capturar las "tramas" que te envían telefonicamente y con ellas reproducir el WAV con otro componente que si lo haga; Necesariamente no tienes que tener toda la funcionalidad que necesitas en un solo componente.