C# 如何获取来电显示?
-
05-07-2019 - |
题
你好,我想使用 56K 调制解调器获取拨打家庭电话的电话号码,有没有办法用 C# 实现这一点?
解决方案
并非所有调制解调器都支持来电显示。对于那些做的人来说,制造商之间的实施方式各不相同。
调用者ID通过串行数据传递,因此您必须使用 TAPI库(或Windows'HyperTerminal来测试它)。来电显示号码通常出现在第一个和第二个响铃之间。
您需要向调制解调器发出命令以激活来电显示。典型地:
AT#CID = 1
(或AT + VCID = 1
)行
检查调制解调器的文档。
当有来电时,调制解调器将收到一个呼叫字符串。典型地:
<代码> RING 代码>
然后来电者身份证明文字会进来。如果我记得正确的话,那就是:
<代码> NMBR = XXXXXXXXXX 代码>
[我正在寻找参考资料。我会在找到它时发布一个链接]
更新:啊,找到一个。查看此页面了解各种调制解调器的命令和连接字符串:
其他提示
这是可能的,但有一些事情你应该注意:
- 您仍然需要运营商/提供商支持来电显示。基本 POTS 线路不会包含此信息,除非运营商做了一些额外的工作来添加它。所以你不能这样做以避免支付额外的来电显示费用。
- 它没有内置于.Net 中。你必须调用基本的 塔皮 图书馆。我自己从未使用过这个库,所以我只能告诉你这么多。
serialPort1.Open(); serialPort1.WriteLine(&quot; AT#cid = 1&quot; + System.Environment.NewLine); //其中serialPort1是串行控件 有关更多详细信息,请参阅以下链接: http://www.itworld2.com/frmsCsharp.aspx
不隶属于 StackOverflow