繁体   English   中英

如何在 C# 中获取来电显示?

[英]How to get Caller ID in C#?

我想使用 56K 调制解调器来获取拨打家庭电话的电话号码。 有没有办法用 C# 实现这一点?

并非所有调制解调器都支持来电显示。 对于那些这样做的人,实施方式因制造商而异。

呼叫者 ID 通过串行数据传递,因此您必须使用TAPI 库(或 Windows 的超级终端来测试它)。 来电显示号码通常出现在第一次和第二次响铃之间。

您需要向调制解调器发出命令以激活来电显示。 通常:

AT#CID=1 (或AT+VCID=1 )

检查您的调制解调器的文档。

当有呼叫进来时,调制解调器将收到呼叫字符串。 通常:

RING

然后来电显示文本会进来。如果我没记错的话,它将采用以下形式:

NMBR=XXXXXXXXXX

[我正在寻找参考。 当我找到它时,我会发布一个链接]

更新:啊,找到了一个。 查看此页面以了解各种调制解调器的命令和连接字符串:

如何测试调制解调器的来电显示支持

这是可能的,但您应该注意以下几点:

  • 您仍然必须拥有运营商/提供商支持的来电显示。 一个基本的 POTS 线路不会包含这些信息,除非运营商已经做了一些额外的工作来添加它。 所以你不能这样做以避免支付额外的来电显示费用。
  • 它没有内置于 .Net 中。 您必须调用基本的TAPI库。 我自己从来没有使用过这个库,所以我可以告诉你的就这么多。

serialPort1.Open(); serialPort1.WriteLine("AT#cid=1" + System.Environment.NewLine); // 其中serialPort1 是串行控件的更多详细信息,请参见以下链接: http : //www.itworld2.com/frmsCsharp.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM