Delphi TAPI来电

Delphi TAPI来电,delphi,tapi,avaya,Delphi,Tapi,Avaya,我正在使用Delphi6中的Async Professional库对Avaya Ip Office呼叫中心执行tapi调用 我已通过vcl组件成功执行了传出的内部呼叫 (APTTAPIDevice1、APTTAPIStatus1、APTDComport1) 我想检测来电的电话号码。 这可能吗 提前谢谢 TApdTapiDevice有一个OnTapiCallerID事件,您可以挂接该事件以获取CallerID字符串和CallerIDName 它还提供了一个CopyCallInfo方法,该方法提供了

我正在使用Delphi6中的Async Professional库对Avaya Ip Office呼叫中心执行tapi调用

我已通过vcl组件成功执行了传出的内部呼叫 (APTTAPIDevice1、APTTAPIStatus1、APTDComport1)

我想检测来电的电话号码。 这可能吗


提前谢谢

TApdTapiDevice
有一个
OnTapiCallerID
事件,您可以挂接该事件以获取
CallerID
字符串和
CallerIDName

它还提供了一个
CopyCallInfo
方法,该方法提供了一个
ITCallInfo
接口(请参阅:)。这将公开一个方法
get_CallInfo
(),该方法可以检索
CallInfo_STRING
enum()枚举的信息字符串

TApdVoIP
组件还提供了一个
CallInfo
属性,该属性包含有关呼叫信息的扩展记录

TApdVoIPCallInfo = record
    InfoAvailable : Boolean;       { True if we get the info, False if the }
                                   { ITCallInfo interface isn't available  }
    { string type fields }
    CallerIDName,                  { the name of the caller }
    CallerIDNumber,                { the number of the caller }
    CalledIDName,                  { the name of the called location }
    CalledIDNumber,                { the number of the called location }
    ConnectedIDName,               { the name of the connected location }
    ConnectedIDNumber,             { the number of the connected location }
    CalledPartyFriendlyName,       { the called party friendly name }
    Comment,                       { a comment about the call provided by the originator }
    DisplayableAddress,            { a displayable version of the called or calling address }
    CallingPartyID : string;       { the identifier of the calling party }
    { DWORD types }
    MediaTypesAvailable,           { the media types available on the call (TAPIMEDIATYPE_*) }
    CallerIDAddressType,           { the address types (LINEADDRESSTYPE_*) }
    CalledIDAddressType,
    ConnectedIDAddressType,
    Origin,                        { the origin of the call (LINECALLORIGIN_*) }
    Reason,                        { the reason for the call (LINECALLREASON_*) }
    MinRate,                       { the minimun data rate in bps }
    MaxRate,                       { the maximum data rate in bps }
    Rate : DWORD;                  { the current rate of the call in bps }
  end;

如果您正在使用AsyncPro进行认真的开发,那么保持一个良好的状态是非常值得的。

感谢J的回复。我已经尝试过ontapicallerid,但似乎没有什么能激发特定事件。与呼叫中心用户绑定的voip物理电话是否有可能阻止具有相同用户的软件ip电话获取数据流?我还没试过这个,我来试试。是的,参考非常好,我在过去两天一直在研究这个问题。@gman如果返回ID字符串,只有在建立连接后才会触发事件。文档非常清楚地指出,设备和电话服务必须支持此功能才能正常工作。你必须检查一下,看看是否是这样。奇怪的是,连接是建立的!也许这与呼叫中心及其设置参数有关。希望能在那里找到一些东西。再次感谢您的回复!