c#, jquery /tapi3 CallerId返回空字符串
本文关键字:返回 字符串 CallerId tapi3 jquery | 更新日期: 2023-09-27 18:12:44
我正在使用c#和jquery .tapi3(itapi)库开发一个座机电话应用程序。当获取callerId时,它的行为是不一致的,当一步一步跟踪代码时,有时它返回callerId,大多数时候它什么也不返回。
我使用了搜索时找到的代码,但它返回空字符串
此链接描述了在监视器模式下打开线路以获取来电显示,我尝试过,但仍然存在相同的问题。
我在某处读到CallInfoChange事件必须被触发才能获得CallerId,但在我的情况下没有触发。
是否支持callerId
下面是我用来获取来电显示
的代码private void IncomingForm_Load(object sender, EventArgs e)
{
_tapiMgr.Initialize();
foreach (TAddress addr in _tapiMgr.Addresses)
{
if (addr.QueryMediaType(TAPIMEDIATYPES.AUDIO))
{
try
{
TAPIMEDIATYPES mt = TAPIMEDIATYPES.AUDIO;
addr.OpenAndMonitor(mt);
// addr.Open(mt);
}
catch(TapiException ex)
{
}
}
}
}
private void OnNewCall(object sender, TapiCallNotificationEventArgs e)
{
if (e.Call.Privilege == CALL_PRIVILEGE.CP_OWNER)
{ MessageBox.Show(e.Call.get_CallInfo(CALLINFO_STRING.CIS_CALLERIDNUMBER).ToString());
}
}
在大多数系统上,调用者id不能立即可用。在北美,来电显示是在第一响之后发送的。为了可靠地获取调用者id,除了NewCall事件之外,还需要处理CallInfo事件。如果调用方id在NewCall事件处理程序中不可用,则在稍后触发CallInfo事件时它将可用。