Tapi3 CallerIDNumber返回9900

时间:2013-02-13 15:00:00

标签: c# telephony cisco tapi

我正在为客户端做一个简单的CRM调用程序,我的电话系统出现问题。他们有一个具有内部路由的Cisco IP电话系统,当我执行以下代码时,我总是得到'9900'作为来电显示号码。有没有办法获得路由号码?我是TAPI的新手,所以提前感谢你的帮助。

cn = tapi.RegisterCallNotifications(line, true, true, TAPI3Lib.TapiConstants.TAPIMEDIATYPE_AUDIO, 2);
if (cn.Call.CallState == TAPI3Lib.CALL_STATE.CS_OFFERING){
string c = cn.Call.get_CallInfoString(TAPI3Lib.CALLINFO_STRING.CIS_CALLERIDNUMBER);
}

Aaron Brake

2 个答案:

答案 0 :(得分:0)

我不熟悉这个系统,它可能是一个很长的镜头,但你试过看看ConnectedIdNumber(也在CallInfo结构中)。在接受呼叫之前,该值可能不会被填充(不等于被应答),但是它确实显示了正确的呼叫线路标识符,它可能仍然存在一些问题...... 祝你好运!

答案 1 :(得分:0)

这是一个古老的问题,所以我希望你找到了答案,但仅仅为了后人,我对UCCM电话系统做了类似的工作,当系统使用UCCX进行呼叫队列/线路管理时发现了一个关键限制。

使用UCCX时,线路的实际来电是#34;停放"在UCCX层为此目的设置的一组扩展之一上。当呼叫被转发到呼叫中心代理的线路时,TAPI客户端上的软件可以看到该线路的事件获得UCCX用来将呼叫作为呼叫者ID而不是原始外部号码的分机。我永远无法找到如何使用TAPI获取原始调用背后的数字,但UCCX会跟踪,因此我们最终的解决方案只是在UCCX中创建一个脚本,该脚本将使用正确的源编号来查询我们的数据库以获得更高级的CID信息(这是原始TAPI应用程序的要点,最初设计用于对抗" vanilla" UCCM 800块)。