前一段时间我恰好在研究这个问题,虽有一些心得,
但一直没法解决。我也在网上求救:http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=178487
我曾经试我用过起码六种有来电显示功能的在网上卖钱
的软件,但无一能在已开通来电显示功能的线路上显示
来电号码,我也试过直接读与MODEM相连的串口,但只
能收到‘RING’和 ‘回车’(chr(13),chr(10))以
及‘RING’。理论上在第一声铃响后,在第二声铃响
前应该传来对方电话号码,但我只找到回车而已。是否
对MODEM有特别要求。
不同国家在第一声RING之后传过来的信息格式一般是有
所不同的,有可能包括TIME,NAME AND CALLERID等。
下面送上一份朋友发给我的资料,希望对你有帮助。
Is My Modem Caller ID Capable?
If your modem manual or box does not indicate that your modem is caller id capable, or you want to manually test your modem for caller id compatibility, please perform the following test.
Use the HyperTerminal Program in Windows 95/98 by clicking on Start > Programs > Accessories > Communications > HyperTerminal.
Click on Hyperterm.exe
Type in "Test Caller ID" for the name of the new connection.
Change the Connect using: to "Direct to Comx" where x is the com port that your modem is attached to and click OK.
Click OK again on the Port Settings screen.
Type in ATZ to reset your modem and it should respond with "OK".
To test you modem to see what the appropriate caller id string is, type each of the following strings followed by <Enter> until your modem responds with an "OK". If you get an "ERROR" response, that means that this is not the correct string for your modem and you should try the next one.
AT#CID=1
AT+VCID=1
AT#CC1
AT*ID1
AT%CCID=1
AT#CLS=8#CID=1
This last string may be required for some voice modems even if AT#CID=1 gives an OK response.
Once you get the "OK" response from your modem, have someone call you and watch the terminal screen.
If Caller ID is working, you will see the work RING on the terminal screen followed by one or more additional lines of data. Here is what my screen looks like after I do this test.
ATZ
OK
AT#CID=1
OK
RING
DATE = 1115
TIME = 0845
NAME = TANNER NORMAN
NMBR = 6029249410
RING
RING
Don't worry about the specific format since there are many different format. Just make sure there is some data between the first and second RING shown that could be interpreted as the date, time, phone number or name (if you have the name service).
If Caller ID is not working, you will only see the word RING for each incoming ring. If this is the case try another one of the suggested caller id strings and try again.
If you are getting data between the first and second ring and my program does not recognize the data, please copy and paste it to me in an E-mail and I will add this format to my program.