我正在使用delphi 6中的Async Professional库对Avaya Ip Office呼叫中心执行tapi呼叫。
我已成功通过vcl组件执行传出内部调用 (ApdTapiDevice1,ApdTapiStatus1,ApdComPort1)。
我想检测来电的来电号码。 这可能吗?
提前致谢!
答案 0 :(得分:0)
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;
如果您正在使用AsyncPro进行认真的开发,那么保留copy of the reference manual handy非常值得。