我们有一个网络应用程序,人们问我们是否可以在他们的PBX上接到来电时弹出屏幕。
我认为最简单的方法是让一个小应用程序放在系统托盘中,等待使用TAPI或TSAPI进行呼叫。当有来电时,它会打开一个配置URL的网页,并将来电者ID作为参数传递。
这样的应用程序是否存在于某个地方?
P.S。任何人都知道Simple Computer Telephony Protocol
发生了什么答案 0 :(得分:2)
它在很大程度上取决于使用的PBX - 我使用的是Avaya和CallMedia服务器。这两家公司都提供了一个小型桌面客户端和一个可以在代码中引用的DLL。
最大的问题是系统托盘应用程序获取事件后通知网页。启动浏览器可能很慢,并且对于呼叫处理来说不是一个好的用户体验。更好的是保持浏览器打开并接收事件..
我工作的公司使用了一些非常过时的技术,所以他们有:
PBX - (XML) - PBX系统托盘客户端 - (COM) - 我们自己的桌面应用程序 - (COM) - 嵌入在页面中的ActiveXControl - (Javascript) - 网站框架适当处理事件
正如您所看到的那样,它是漫长而复杂的 - 更优雅的方法是在页面上嵌入一个Silverlight /类似的应用程序,从系统托盘客户端接收事件(通过Web服务或类似的?)
你还需要解决a)打开多个页面的问题 - 所有人都能得到这些事件吗? b)以后交换PBX不需要完全重写。
当我离开那家公司时,我们正在实施一种机制,我们的应用程序直接通过XML从PBX收到消息。 Silverlight通过双向WCF控制在我们的桌面应用程序注册的任何/所有网页上。然后,我们将桌面应用程序发送到适当的页面。
还需要考虑其他一些事项:您打算处理混合频道吗?即可以处理电子邮件阻止来电事件?如果是这样,你需要某种双向通信来说“拒绝通话......”。您还需要注意代理的telset所处的状态 - 如果在完成保存数据之前进入“可用”状态,则可以在记录所有内容之前进行浏览。另外,根据我的经验,代理商非常乐意按下telset上的按钮而不是你的应用程序 - 所以你需要处理意外的状态变化。
同时考虑转接电话 - 大多数现代PBX允许以与呼叫相关联的方式进行呼叫转接 - 因此,如果是内部转接,则收件人的屏幕可以显示所有呼叫备注/等。 / p>
如果您可以澄清什么是PBX /等,我可以提供更多信息。您正在使用以及需要处理的事件
我建议你至少处理的事件: 呼叫铃声, 电话接听了, 呼叫掉线, 呼叫已转移
你应该能够提出: 接听电话, 打电话, 掉线, 转移呼叫(热转移和冷转移,如果是内部数据,可选择使用数据)
当然,这对您的解决方案来说可能有点过分:)
编辑:我忘了补充一点,我们的解决方案还处理了当他们登录到网络应用程序时登录/关闭telset代理 - 这给了一个非常好的用户体验,但需要处理所有登录/注销变量以及维护用户 - >扩展名#
的查找表答案 1 :(得分:0)
NCID (Network Caller ID)是一个Sourceforge项目,似乎是我想要的东西,但它依赖于Linux服务器,似乎只支持来自连接到串口的调制解调器的来电显示,或者通过嗅探SIP数据包通过服务器的以太网接口。它不会使用TAPI或类似系统支持任何PBX系统,因为它仅在Linux上运行。
连接到服务器NCIDpop的客户端应用程序完全符合我的要求 - 它可以使用URL字符串来查找数字,并在您单击时打开网页。
这不是我的答案,但可能对其他人发现这个问题很有用。