Cisco IP电话检测来电和来电信息

时间:2017-02-04 14:11:04

标签: c# cisco

我们在公司使用思科IP电话 我需要创建一个Windows服务来检测某个电话号码的来电(比方说911)并获取来电者的信息。
我的编程语言是C#。
由于我不知道从哪里开始,我现在没有任何代码。

1 个答案:

答案 0 :(得分:2)

IP电话使用称为SIP - 会话启动协议的协议将其存在及其IP地址通告给中央注册表。它的工作方式与DNS非常相似。电话说"嗨,我在192.168.10.45,我的名字是电话号码089981283 092349220和3482487243"

当另一台支持SIP的设备(通常是通过支持SIP的电话交换机进入您的网络的另一部电话或呼叫)想要与您的电话号码通话时,它会拨打SIP注册表,获取正确的IP地址并启动用它进行IP会话。好消息是电话号码可以是任何标识符 - 您的姓名,部门名称或任何其他标识符。它甚至不必是唯一的 - 这就是你如何获得"小组取件"。

您的问题是,您希望欺骗SIP交换机将呼叫路由到您的IP电话而不是电话,并在将呼叫传递到电话上进行正常处理之前对其进行审核。从我的解释中可以看出,IP Phone作为一个独立的物联网设备存在于网络中,并且手机必须配备专门的软件API才能让你做你想做的事 - 所以你要去必须在思科手机上提取文档,看看他们是否有可以使用的API。

至于是否可以在C#中完成,那么"是"。它有一个基于IP的通信的综合套接字处理层,SIP是一个非常简单的基于文本的IP协议,所以只要手机允许你代表它接听电话然后转发有效的呼叫,那么你可以在C#中编写SIP兼容服务,实现您的目标。尝试使用谷歌搜索" C#SIP"你会发现至少这个例子C#implementation https://sipsorcery.codeplex.com/