我正在使用 delphi 6 中的 Async Professional 库对 Avaya Ip Office 呼叫中心执行 tapi 呼叫。
我已经通过 vcl 组件(ApdTapiDevice1、ApdTapiStatus1、ApdComPort1)成功地执行了传出内部调用。
我想检测来电的来电号码。这可能吗?
提前致谢!
TApdTapiDevice
有一个OnTapiCallerID
事件可以挂钩来获取CallerID
字符串和CallerIDName
.
它还提供了一个CopyCallInfo
提供ITCallInfo
接口的方法(请参阅:MSDN ITCallInfo)。这公开了一个方法get_CallInfo
(MSDN:get_CallInfo),该方法可以检索CALLINFO_STRING
枚举(MSDN:CALLINFO_STRING)枚举的信息字符串。
该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;