2015-12-17 19 views
0

Я использую библиотеку Async Professional в delphi 6 для выполнения вызовов tapi в call-центр Avaya Ip Office.TAPI входящий вызов

Я успешно выполнил исходящие внутренние вызовы через компоненты vcl (ApdTapiDevice1, ApdTapiStatus1, ApdComPort1).

Я хотел бы определить номер входящего звонка. Возможно ли это?

Заранее благодарен!

ответ

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.

+0

Спасибо J за ответ. Я уже пробовал ontapicallerid, но ничего, похоже, не запускает конкретное событие. Есть ли вероятность, что виртуальный телефон voip, связанный с пользователем из центра обработки вызовов, не позволит программному ip-телефону с тем же usernane получить поток данных? Я не пробовал TApdVoIP, я попробую. Да, ссылка очень хорошая, я изучал это в течение последних 2 дней. – gman

+0

@gman Событие запускается только после того, как соединение выполнено * если * возвращены строки идентификатора. В документации четко сказано, что устройство и телефонная служба должны поддерживать эту функцию, чтобы она работала. Вам нужно будет проверить, не так ли. –

+0

Странно то, что соединение сделано! Возможно, ему есть что-то делать с центром обработки вызовов и его параметрами настройки. Надеюсь найти что-то там. Еще раз спасибо за ответ! – gman

 Смежные вопросы

  • Нет связанных вопросов^_^