| Author |
Message |
Guest
|
Posted:
Thu Nov 03, 2005 5:20 pm Post subject:
At commands and outbound calls |
|
|
How can i do to create a program which make call using AT commands,
instead TAPI?
Where can i find programs which use AT commands, with source code?
Thanks |
|
| Back to top |
|
 |
Moe Trin
Guest
|
Posted:
Sat Nov 05, 2005 6:37 am Post subject:
Re: At commands and outbound calls |
|
|
In the Usenet newsgroup comp.dcom.modems, in article
<1131033237.901640.285470@o13g2000cwo.googlegroups.com>,
alessio1946@tiscali.it wrote:
| Quote: | How can i do to create a program which make call using AT commands,
instead TAPI?
Where can i find programs which use AT commands, with source code?
|
What operating system? For many UNIX, you might use something like
kermit or uucp. kermit is from http://www.columbia.edu/kermit/ck80.html
while ne source (of many) for uucp is any sunsite mirror
../system/network/uucp:
-rw-rw-r-- 1 keeper admin 736174 May 12 1994 uucp-1.05.tgz
Both comtain many other things besides a dialer.
Old guy |
|
| Back to top |
|
 |
Guest
|
Posted:
Sun Nov 06, 2005 3:37 am Post subject:
Re: At commands and outbound calls |
|
|
| Quote: | What operating system?
|
windows xp |
|
| Back to top |
|
 |
Paul Murphy
Guest
|
Posted:
Mon Nov 07, 2005 2:28 am Post subject:
Re: At commands and outbound calls |
|
|
alessio1946@tiscali.it> wrote in message
news:1131033237.901640.285470@o13g2000cwo.googlegroups.com...
| Quote: | How can i do to create a program which make call using AT commands,
instead TAPI?
Where can i find programs which use AT commands, with source code?
Thanks
For Windows XP there are an abundance of telephony programs which permit |
your modem to function as a speakerphone (making outbound calls). The modems
themselves are controlled by AT commands - its just that when its controlled
via TAPI it allows sharing of the modem with other windows functions. A
classic example of where TAPI comes in handy is if you have a telephony
program running in the background all the time to receive faxes and decide
to used Dialup networking to connect to the internet. As soon as you
disconnect from the internet, the Telephony program goes back to its job of
waiting for faxes or voicemails to come in. Here's a good link to just some
programs out there that will do the trick
http://www.ainslie.org.uk/callerid/tel_soft.htm usually modems come with
software to use all the features they have. I use BVRPs Classic PhoneTools
at the moment and it has a mode which allows the AT commands to the modem to
be viewed (modem exchange) while the software is in use.
If you want to just control the modem directly with AT commands then
HyperTerminal (which is built into Windows) will allow this and its even
possible to make a speakerphone call using this (if you don't mind typing in
MANY AT commands to do so) - i.e. its impractical for everyday use. Your
modems AT Command handbook is your friend when it comes to what commands to
use as they do vary according to modem type.
Paul |
|
| Back to top |
|
 |
Guest
|
Posted:
Mon Nov 07, 2005 3:13 am Post subject:
Re: At commands and outbound calls |
|
|
Yes, but I'm searching example with source code.
I've found many TAPI example, but i've not found code example to send
AT commands. |
|
| Back to top |
|
 |
Jack Masters
Guest
|
Posted:
Mon Nov 07, 2005 5:20 pm Post subject:
Re: At commands and outbound calls |
|
|
alessio1946@tiscali.it wrote:
| Quote: | Yes, but I'm searching example with source code.
I've found many TAPI example, but i've not found code example to send
AT commands.
MSDN is your friend in this. The basics go along the lines of the |
following code (extracted from some Quick'n'Dirty thingy for sending SMS
messages over a GSM modem). Note that ReadFile() on comm ports behaves
quite differently depending on how you set the timeouts.
// ....
m_hOut = CreateFile("COM1", GENERIC_READ|GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, 0, NULL);
if (m_hOut == INVALID_HANDLE_VALUE) {
TRACE("Cannot open output port %s - %d\n", m_sOutport, GetLastError());
return 0;
}
DCB dcb;
if (!GetCommState(m_hOut, &dcb)) {
TRACE("GetCommState - %d\n", GetLastError());
return 0;
}
dcb.BaudRate = CBR_9600;
dcb.ByteSize = 8;
// ..... further port setup
if (!SetCommState(m_hOut, &dcb)) {
TRACE("SetCommState - %d\n", GetLastError());
return 0;
}
COMMTIMEOUTS to;
to.ReadIntervalTimeout = 100;
to.ReadTotalTimeoutConstant = 1000;
to.ReadTotalTimeoutMultiplier = 1;
to.WriteTotalTimeoutConstant = 1000;
to.WriteTotalTimeoutMultiplier = 1;
if (!SetCommTimeouts(m_hOut, &to)) {
TRACE("Setcommtimeouts %d\n", GetLastError());
return 0;
}
DWORD nW;
CString cmd = "ATDT055 55555555\r";
char szBuf[1024];
WriteFile(m_hOut, cmd, cmd.GetLength(), &nW, NULL);
// now call ReadFile on the same handle to get the reply,
// from the modem, and do appropriate error handling
Close(m_hOut); |
|
| Back to top |
|
 |
|
|
|
|