我想使用 56K 调制解调器来获取拨打家庭电话的电话号码。有没有办法用 C# 实现这一点?
问问题
10286 次
3 回答
17
并非所有调制解调器都支持来电显示。对于那些这样做的人,制造商之间的实施方式各不相同。
来电显示通过串行数据传递,因此您必须使用TAPI 库(或 Windows 的超级终端来测试它)。来电显示号码通常出现在第一次和第二次响铃之间。
您需要向调制解调器发出命令以激活来电显示。通常:
AT#CID=1
(或AT+VCID=1
)好的
检查您的调制解调器的文档。
当有来电时,调制解调器会收到一个呼叫字符串。通常:
RING
然后会出现来电显示文本。如果我没记错的话,它将采用以下形式:
NMBR=XXXXXXXXXX
[我正在寻找参考。当我找到它时,我会发布一个链接]
更新:啊,找到了。查看此页面以获取各种调制解调器的命令和连接字符串:
于 2009-07-29T15:21:58.060 回答
5
这是可能的,但您应该注意以下几点:
- 您仍然必须有您的运营商/提供商支持的来电显示。除非承运人做了一些额外的工作来添加它,否则基本的 POTS 行不会包含此信息。所以你不能这样做以避免支付额外的来电显示费用。
- 它不是内置于 .Net 中的。您必须调用基本的TAPI库。我自己从来没有使用过这个库,所以我可以告诉你的就这么多。
于 2009-07-29T15:07:03.737 回答
3
serialPort1.Open(); serialPort1.WriteLine("AT#cid=1" + System.Environment.NewLine); // 其中serialPort1 是串行控件,更多详细信息请参见以下链接:http ://www.itworld2.com/frmsCsharp.aspx
于 2009-10-30T16:39:53.757 回答