我知道这是答案的问题,但我想知道硬件需要和如何设置。
我正在试图建立一个外卖的交付系统,用户打电话,他们的电话号码被捕获到一个WINFORM。
我谷歌了一下,它说我需要使用TAPI API。这是好的,但我需要连接到个人电脑的任何东西,还是只使用TAPI工作?
这个链接在VB.net中解释了它。我在c#.net里找它。我还浏览了提供这里的链接。
但它也解释不了这个设置。所以请帮帮忙。
发布于 2015-12-23 20:43:23
第一件事
要查看您的调制解调器是否支持Caller,打开一个串行端口终端(我喜欢putty)并将其设置为调制解调器的com端口,然后拨打连接到该调制解调器的电话号码,您应该可以看到类似于5555555555 (其中5555555555是呼叫您的人的电话号码)。
您可能需要为该调制解调器打开来电者id (如果是的话)
1)打开“电话和调制解调器选项”控制面板
2)点击“调制解调器”选项卡
3)在列表中选择调制解调器(如果它尚未被选中)
4)点击“属性”按钮
5)单击“高级”选项卡
6)在“额外初始化命令”编辑框中键入"#CID=1“注意:将"#CID=1”替换为启用调制解调器上的调用者id的命令不包括命令的"AT“部分不包括引号7)单击”确定“
8)点击OK
9)重新启动计算机
下面是一些用于与c#中的串口交互的代码(如果您需要的话)
public SerialPort sp;
string dataReceived = string.Empty;
private delegate void SetTextDeleg(string text);
private void FormLoad()
{
sp = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
this.sp.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
sp.Open();
}
void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
try
{
Thread.Sleep(500);
string x = sp.ReadLine(); // will read to the first carriage return
this.BeginInvoke(new SetTextDeleg(si_DataReceived), new object[] { x });
}
catch
{ }
}
private void si_DataReceived(string data)
{
dataReceived = data.Trim();
// Do whatever with the data that is coming in.
}此外,我刚刚在亚马逊搜索“来电显示调制解调器”,似乎有很多10到20美元(美国),支持这一确切的用途。我推荐Trendnet TFM-561 U
发布于 2015-12-23 21:06:46
如果您正在使用电话和传真调制解调器,只需插入您的电话线到调制解调器。
接下来,在windows窗体上拖放一个SerialPort控件并初始化它.
this.serialPort1.PortName = "COM3";
this.serialPort1.BaudRate = 9600;
this.serialPort1.DataBits = 8;
this.serialPort1.RtsEnable = true;
this.serialPort1.DataReceived += serialPort1_DataReceived;
this.serialPort1.Open(); 将以下命令传递给调制解调器,以便激活Caller
this.serialPort1.WriteLine("AT#cid=1" + System.Environment.NewLine);处理它的DataReceived事件并显示接收到的数据
void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
richTextBox1.Text += this.serialPort1.ReadLine();
}输出:
RING //On 1st Ring
DATE = xxxxx //On 2nd Ring
TIME = xxxx
NMBR = xxxxxxxxx
RING //On 3rd Ring
RING //On 4th Ring如果电话线以呼叫者ID的身份发送DTMF音调,那么需要DTMF到FSK转换器来检测号码,否则你会收到铃声而不是号码。
https://stackoverflow.com/questions/32984598
复制相似问题