与* nix的电话系统接口
时间:2020-03-05 18:59:38 来源:igfitidea点击:
有谁知道通过* nix中的C / C ++应用程序与电话系统(例如Cisco CCM)交互的任何"标准"方式吗?我过去曾经使用过MS TAPI,但这只是Windows,并且不想走jTAPI(Java)路线,这似乎是它的唯一选择。
我想监视电话系统以进行记录(因此我知道用户何时拨打电话,接听电话等)。 TAPI在这种事情上很擅长,但是我不能成为第一个想要在没有Windows服务器的情况下做类似事情的人。
请注意,我需要与现有的PABX系统集成,特别是Cisco CCM和Nortel BCM。
解决方案
回答
据我所知,在两个电话标准TAPI和CSTA方面,我经验丰富,卖方(例如Cisco,Nortel,NEC)之间就标准API尚无此类协议。
我建议我们查看我们要定位的PBX平台上SMDR(工作站消息详细记录)的可用性,假设不需要任何呼叫/设备控制。这将允许我们以文本流的形式访问PBX活动,并且可以解析数据以进行进一步的操作以适合目的。
PBX供应商之间的格式很可能会有所不同,但希望可以将其抽象化,以便核心应用程序功能可重复使用。
再次假设不需要呼叫/设备控制,这可能是一种更可移植的选项,因为我们不依赖供应商在所选平台上提供CTI连接。
回答
这是SMDR的另一票。我见过的所有电话系统都提供了通过电话盒上的串行端口进行SMDR日志记录的选项。只需从串行端口捕获文本并根据需要进行解析即可。
我编写了一个服务器进程,该进程捕获SMDR输出,对其进行解析并将结果保存在数据库中,我们的其他应用程序可以使用该数据库查看每个电话的扩展名,电话号码,时间和时长。