0

我正在为客户做一个简单的 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);
}

亚伦刹车

4

2 回答 2

0

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

于 2013-02-14T14:48:30.917 回答
0

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

使用 UCCX 时,线路的实际传入呼叫“驻留”在 UCCX 层为此目的设置的一组分机中的一个上。当呼叫然后被转发到呼叫中心代理的线路时,TAPI 客户端上监视该线路的软件可见的事件将获得 UCCX 用于将呼叫暂留为呼叫者 ID 的分机,而不是原始外部号码。我永远无法找到如何使用 TAPI 来获取原始呼叫背后的号码,但是 UCCX 会跟踪,因此我们最终的解决方案是简单地在 UCCX 中创建一个脚本,该脚本将使用正确的源号码来查询我们的数据库以获得更高级CID 信息(这是原始 TAPI 应用程序的要点,最初设计用于针对“普通”UCCM 800 块)。

于 2014-08-04T15:53:22.757 回答