 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Susana Johannsen Cdt

Registrado: 13 Abr 2003Mensajes: 15
|
Publicado: Dom 28 Mar, 2004 4:17 pm Asunto: contestador telefonico, TAPI |
|
|
| Necesito el codigo para un contestador telefonico. En la red encontre varios pero necesitan de componentes que hay que pagar. Alguien tiene el codigo fuente de alguno. |
|
| Volver arriba |
|
 |
Snake + + Lt


Registrado: 31 Oct 2002Mensajes: 83Ubicación: Zacatecas, Zac. Mexico
|
Publicado: Lun 29 Mar, 2004 10:24 pm Asunto: |
|
|
hola Susana.
sabes yo hice uno utulizando un componente que es gratis y muy bueno, si te interesa tirame un mauil o un mensaje pribado y te lo hago llegar, le anexe algunjas cosillas buenas al programa. _________________ I.S.C. Joel Salinas Alvarado
Linux User:454009
the human knowledge belong to the world
"Hoy el Universo Debian es mas GRANDE"
Zacatecas, Mexico. |
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Lun 29 Mar, 2004 10:37 pm Asunto: |
|
|
lograste hacer el idcaller? _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
ikis Master


Registrado: 28 Dic 2002Mensajes: 703Ubicación: Madrid, España
|
Publicado: Mar 30 Mar, 2004 3:28 am Asunto: |
|
|
Hola, yo lo hice utilizando los componentes de Turbo Power.
Respecto del Id Caller anda solo en ciertos lugares, es decir el programa lo programa en Bs As y andaba perfecto pero no me detectaba el id caller, en cambio en Tierra del Fuego si..... |
|
| Volver arriba |
|
 |
Susana Invitado
|
Publicado: Mar 30 Mar, 2004 4:06 am Asunto: |
|
|
| Si tienen el codigo compartamoslo, haganlo publico, es la unica forma de mejorar |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mar 30 Mar, 2004 4:49 am Asunto: |
|
|
dentro de 2 dias te pongo el codigo, del IDCAller... es sencillo, recuerda que debes tener activa la linea par el ID Caller...
Saludos
Susana _________________
 |
|
| Volver arriba |
|
 |
Susana Invitado
|
Publicado: Mie 31 Mar, 2004 9:59 pm Asunto: |
|
|
No sean egoistas, compartan.
Sera posible que nadie tenga un contestador (TAPI) Telefon API |
|
| Volver arriba |
|
 |
ikis Master


Registrado: 28 Dic 2002Mensajes: 703Ubicación: Madrid, España
|
Publicado: Mie 31 Mar, 2004 11:39 pm Asunto: |
|
|
www.sourceforge.net
alli buscas las librerias de TurboPower, (creo q son las APRO o bien las IPRO). Instalas los componentes que tienen ejemplos para Builder.
Te ruego que leas bien los mensajes que te escriben antes de responder. |
|
| Volver arriba |
|
 |
Snake + + Lt


Registrado: 31 Oct 2002Mensajes: 83Ubicación: Zacatecas, Zac. Mexico
|
Publicado: Jue 01 Abr, 2004 1:02 am Asunto: |
|
|
Este es el codigo de lo que segun yo se le puede decir contestador, le anexe nomas que mande el mensaje grabado a la cuenta de mail predeterminada.
Esta echo con el componente tapiex, en la pagina pueden encontrar la vercion 3 y estaba checando, segun eso trae algunas cosas buena, les recomendaria que lo checara.
Estaria bien que lo calaras usando la linea decodificada para poder saber el ID caler y asi poder detectar las señales DTMF que sirven para poder ahcer mil cosas.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Principal.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "TAPIEXLib_OCX"
#pragma resource "*.dfm"
TSnake_Contestador_Form *Snake_Contestador_Form;
int x;
bool bandera;
//---------------------------------------------------------------------------
__fastcall TSnake_Contestador_Form::TSnake_Contestador_Form(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TSnake_Contestador_Form::Boton_AbrirClick(TObject *Sender)
{
int i;
x=0;
bandera=false;
ITAPILine *linea;
TOLEBOOL retvalue;
for(i=0;i<Lista_de_Dispositivos->Items->Count-1;i++)
{
linea=TapiControl->Lines->Item(i);
retvalue=linea->Open((LINECALLPRIVILEGE)(CALLPRIVILEGE_MONITOR | CALLPRIVILEGE_OWNER));
}
}
//---------------------------------------------------------------------------
void __fastcall TSnake_Contestador_Form::FormCreate(TObject *Sender)
{
int i;
ITAPILine *linea;
TListItem *lt;
TapiControl->initialize(); //Initailize
for(i=0;i<TapiControl->Lines->Count-1;i++)
{
linea=TapiControl->Lines->Item(i); //enum all the TAPIMEDIATYPE_AUDIO devices
if (linea->Caps->Media_Modes && TAPIMEDIATYPE_AUDIO)
{
lt=Lista_de_Dispositivos->Items->Add();
lt->Caption =IntToStr(linea->get_DeviceID());
lt->Data=(void*)i;
lt->SubItems->Add(linea->get_DeviceName());
}
}
}
//---------------------------------------------------------------------------
void __fastcall TSnake_Contestador_Form::Boton_CerrarClick(TObject *Sender)
{
TapiControl->CloseAll();
}
//---------------------------------------------------------------------------
void __fastcall TSnake_Contestador_Form::TapiControlRing(TObject *Sender, ITAPICall *m_Call,
long RingCount)
{
if (RingCount>=StrToInt(Edit_Numero_Rings->Text))
m_Call->Answer();
}
//--------------------------------------------------------------------------
void __fastcall TSnake_Contestador_Form::TapiControlPlayBackComplete(TObject *Sender,
ITAPICall *m_Call)
{
wchar_t buffer[300];
AnsiString filename="mensage_"+ IntToStr(m_Call->LineOwner->DeviceID) + ".wav";
filename.WideChar(buffer,sizeof(buffer));
m_Call->Record(buffer);
bandera=true;
}
//---------------------------------------------------------------------------
void __fastcall TSnake_Contestador_Form::TapiControlConnected(TObject *Sender,
ITAPICall *m_Call, LINECONNECTEDMODE ConnectedMode)
{
wchar_t buffer[300];
m_Call->PlaybackFile(Edit_Nombre_Mensaje->Text.WideChar(buffer,sizeof(buffer)));
}
//---------------------------------------------------------------------------
//void __fastcall TSnake_Contestador_Form::TapiControlDebug(TObject *Sender, BSTR msg)
//{
// Memo1->Lines->Add(msg);
//}
//---------------------------------------------------------------------------
void __fastcall TSnake_Contestador_Form::BitBtn1Click(TObject *Sender)
{
NMSMTP1->Host = Edit_Host->Text;
NMSMTP1->UserID = Edit_Login->Text;
try{
NMSMTP1->Connect();
}
catch(...)
{
return;
}
Label4->Caption=Edit_Login->Text + "@"+Edit_Host->Text;
Label2->Caption="Conectado";
Edit_Host->Text="";
Edit_Login->Text="";
}
//---------------------------------------------------------------------------
__fastcall TSnake_Contestador_Form::EnviarMensaje(TObject *Sender)
{
NMSMTP1->PostMessage->FromAddress =Label4->Caption;
NMSMTP1->PostMessage->ToAddress->Text = Direccion_Buzon->Text;
NMSMTP1->PostMessage->Subject = "Hola que tal" ;
NMSMTP1->PostMessage->Attachments->Text =Lista_de_Archivos->Items->Text;
NMSMTP1->SendMail();
}
//---------------------------------------------------------------------------
Espero que a alguien le sirva y a ver si a alguin se le ocurre algo nuevo para poder meterle a los programas de telefonia. _________________ I.S.C. Joel Salinas Alvarado
Linux User:454009
the human knowledge belong to the world
"Hoy el Universo Debian es mas GRANDE"
Zacatecas, Mexico. |
|
| Volver arriba |
|
 |
Snake + + Lt


Registrado: 31 Oct 2002Mensajes: 83Ubicación: Zacatecas, Zac. Mexico
|
Publicado: Jue 01 Abr, 2004 1:08 am Asunto: |
|
|
Algo mas.
Para que todo pueda funcionar bien, es NECESARIO y FORZOZAMENTE, un buen MODEM, que sopporte el modo de VOZ, los mejores para eso son los US Robotics, claro que hay mas pero son mas genericos y pueden tener algunos tropiezos. _________________ I.S.C. Joel Salinas Alvarado
Linux User:454009
the human knowledge belong to the world
"Hoy el Universo Debian es mas GRANDE"
Zacatecas, Mexico. |
|
| Volver arriba |
|
 |
Susana Invitado
|
Publicado: Jue 01 Abr, 2004 4:32 am Asunto: |
|
|
| Podes poner la direccion de la pagina |
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Vie 02 Abr, 2004 2:40 am Asunto: |
|
|
Alguien sabe que modelo de momen funciona en Mexico el idcaller? _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Vie 02 Abr, 2004 6:15 am Asunto: |
|
|
Te envio el codigo, de como debes tomar la cadena que te avienta el telefono cuando recibes una llamada y ademas tienes activo el ID
| Código: |
[ El Caller ID (CID) por J2 ]
PARTE I
Es curioso el revuelo que monta este personaje, y es que a veces es como una matrícula que nos delata, algunos para deshacerse de él se dieron un paseo hasta Holanda, pero creo que no le salio muy bien, vaya, lo siento. Pues dos internautas me hablaron una vez de esto, del CID, y quedamos en mandarnos cosas, pero ya se sabe, se va dejando, dejando... Hasta que hace poco tiempo, en un lugar de la red, de cuyo nombre no quiero acordarme, vi una cosita del CID, y me acordé, pues nada, puse el ppp a rular y me conecté a algunas páginas para encontrar información sobre el Caller ID.
¿Pero qué es?
El Caller-ID es un servicio que nos ofrece nuestra compañia telefónica y que nos permite conocer el numero desde el que nos llaman antes de descolgar el teléfono. Pero no sólo es eso, también transmite otras informaciones, como son la fecha, la hora y algunas otras cosas que veremos más adelante. Si tenemos la propaganda de Servicios Movistar veremos que pone: Identificación de linea llamante: Muestra en la pantalla de su teléfono Movistar el número de teléfono desde el que le están llamando antes de que descuelgue.
En esencia es eso, y es lo que todo el mundo debe saber, pero tiene muchas más cosas interesantes, y si estás aqui quizá quieras conocerlas : )
Por cierto, el CID se envia entre el primer y segundo ring.
Bloqueo de CID:
Si por alguna razón el usuario desea que su número no aparezca en el teléfono al que llama, y prefiere que aparezca como "anónimo" "privado" o "desconocido", tiene dos opciones:
Bloqueo selectivo: Para que no se mande el número, se marca antes un codigo especial (por ejemplo *31#).
Bloqueo completo: Se avisa a la compañia para que no se mande nuestro numero, con ello siempre estarás en modo oculto. En la propaganda de servicios de Movistar aparece como: Ocultación de identidad: Impide que su número de teléfono sea mostrado a la persona que está llamando.
Nota aclaratoria: El que se bloquee el Caller ID no significa que nuestra llamada sea siempre anónima, cuando llamamos a numeros especiales o a 900s (cobro revertido automático) ellos siguen sabiendo desde donde llamas.
Inconvenientes del bloqueo del CID: Algunos numeros han instalado el Anonymous Call Rejection (Rechazo de llamadas anónimas), que no permite establecer comunicación con ese número si no se le manda el CID.
Tipos de CID:
Tenemos dos tipos de Caller ID
1] Número
2] Nombre y número
Además los dos tipos incluyen la fecha y la hora. De momento yo sólo he visto el primero, y no se si el primero se usa aqui en España, pero en Estados Unidos si se usa, y no vamos a ser nosotros menos ¿no?
Nota aclaratoria: No hay que confundir el 2º con lo que hacen los teléfonos móviles recientes, que buscan el numero en el Caller ID dentro de la agenda, y si coincide, muestra el nombre. En el 2º el nombre se transmite junto al número.
Formatos del CID:
SDMF ==> Single Data Message Format (Formato simple de mensajes de datos)
MDMF ==> Multiple Data Message Format (Formato múltiple de mensaje de datos)
El SDMF se usa para el tipo de CID 1, el de sólo numero. El MDMF se utiliza para el segundo tipo de CID, el de nombre y número. El MDMF está estructurado para ser ampliado con nuevos campos (direccion, ciudad, email)
Ejemplos de CID:
SDMF
Supongamos que nos llega una cadena como esta (los datos estan en hexadecimal)
04 11 30 31 30 31 31 32 30 30 39 30 30 31 30 38 31 30 38 9D
04 - tipo ( 04 significa SDMF)
11 - en decimal es 17, y representa la cantidad de bytes de información sobre fecha, hora y numero que va a transmitir.
30 31 - 01 (mes de enero)
30 31 - 01 (dia 1 de enero)
31 30 - 10 (a las diez...)
30 30 - 00 (en punto)
39 30 30 31 30 38 31 30 38 - 900108108 (es el numero desde el que llaman)
6D - Checksum (El checksum es el resultado de hacer la operación complemento a dos a la suma de todos los anteriores bytes. A ver, por si no te acuerdas, pongamos un ejemplo:
04h + 11h + 30h + 31h + 30h + 31h + 31h + 30h + 30h + 30h + 39h + 30h +30h +31h + 30h + 38h+ 31h + 30h+ 38h = 363h
(aqui sumamos todos los bytes en hexadecimal)
363h = 11101100011
(aqui pasamos el valor de hexadecimal a binario)
Ca2 11101100011 = 10011101 = 6Dh
(aqui le aplicamos la operacion complemento a 2, y despues pasamos el resultado en binario a hexadecimal. El Ca2 se hace leyendeo de derecha a izquierda, cuando encontramos un valor 1, a partir de ahi cambaimos 1 por 0 y 0 por 1 (sin cambiar ese primer 1)
¿Como sé yo si mi modem soporta esta curiosa característica?
Pues mira, le mandas la cadena AT como una de las siguientes:
AT#CID=1
AT%CCID=1
AT+VCID=1
AT#CC1
AT*ID1
La mas normal que funcione es la primera... pero quien sabe?
Si eres un usuario de windows que no conoce bien el tema... la verdad no se que haces aqui, pero, sin que sirva de precedente, vamos a explicar paso a paso que tienes que hacer : ) Evidentemente si no eres ese novatillo no hace falta que te lo explique, salta entonces el siguiente párrafo.
Supongamos que tienes instalado el programa de comunicaciones HyperTerminal. Pues muy bien, te vas a inicio, programas, accesorios, comunicaciones y dentro esta el enlace (si usas la version '95 esta en otro lado). Una vez ejecutado, le pones el nombre que tu quieras a la conexión, digamos 'CID' por ejemplo. OK, tu ventana bonita, tus iconos, en fin, todas esas cosas que necesitan tantos recursos. Pues nada, nos vamos a Archivo y alli dentro a Propiedades. Anda! Pero si es un dialogo que nos pide un numerin de telefono, jeje, como hacemos siempre, ignoramos el campo y si miramos un poco más abajo veremos que nos sale una cajita tipo combo box con el titulo "Conectar usando". Ahi debemos seleccionar "Directo a Com2" o al puerto donde este nuestro modem. Ahora le damos a Aceptar y nos sale otro dialogo, seleccionamos 9600 baudios, Bits de Datos: 8, Paridad: Ninguna y Bits de Parada: 1. Pues bien, una vez hecho esto le damos de nuevo a Aceptar y nos conectamos con nuestro propio modem... ahora escribimos alguno de los comandos para inicir el soporte de CID, por ejemplo:
AT#CID=1
y si nos dijera OK pues sería que funciona, ahora cuando te llamen saldra el CID : ) Por el contrario, si te se sale otra cosa, por ejemplo numeritos o lo que sea... lo siento, tu modem no lo soporta...
También puedes mandarle la cadena
AT#CID=2
en cuyo caso se recibira el CID sin formato.
Lista de modems que yo sepa que soportan CID:
Supra (pero no los Express)
Practical Peripherals (sólo si lo indica)
Zyxel (los modernitos)
AT&T Paradyne
Telebit Teleblazer
Motorola POWER
Motorola Lifestyles
Motorola ModemSURFR
Si alguien tiene otro modelo que le funcione me lo puede comunicar y lo incluiré en la lista.
Esta primera parte es una visión general sobre el Caller ID, en la parte 2 se incluyen datos técnicos contenidos en las especificaciones estándar y aplicaciones prácticas.
|
Espero que les de una idea a todos, no es mucho, y con la funciona anterior se pude mejorar, esto es para no utilizar el componente, ya que a veces no funcionan o nunca funcionan igual en todas las maquinas.. bueno bye _________________
 |
|
| Volver arriba |
|
 |
Snake + + Lt


Registrado: 31 Oct 2002Mensajes: 83Ubicación: Zacatecas, Zac. Mexico
|
Publicado: Vie 02 Abr, 2004 10:30 pm Asunto: |
|
|
Que hay de nuevo.
sabes cesar, estaba checando el material que publicaste y esta genial, pero yo intente hacerlo antes d eusar el id caller y es un poco tedioso estar lideando con la hyperterminal, para poder comunicarse con el modem, ademas de que es cierto que no todos lo modem's fuciona, yo quiero ahcer un sistema que detecte los DTMF para poder automatizar mil cosas desde cualquir punto utilizando comi ntermediario una simple llamada telefonica, claro que esta solo en ver a ver que.
bueno voy a meterme en esto y espero tener algo de material nuevo, pues creo que esto tiene mucho de donde expeimirle.
uns saludo y luego nos vemos. _________________ I.S.C. Joel Salinas Alvarado
Linux User:454009
the human knowledge belong to the world
"Hoy el Universo Debian es mas GRANDE"
Zacatecas, Mexico. |
|
| Volver arriba |
|
 |
777 Lt

Registrado: 01 Feb 2006Mensajes: 87
|
Publicado: Vie 28 Abr, 2006 4:52 am Asunto: |
|
|
| como se detecta las teclas pulsadas en el telefono? |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|