-
Здравствуйте. Задаю вопрос людям, которые понимают суть вопроса. Подскажите пожалуйста, как получить информацию о входящем звонке на телефон Avaya? На сайте Avaya скачал WSDL - файлы, но с помощью их я "достучался" только до самых простых операций (позвонить, ответить, положить трубку и т.д.). Но как узнать - номер входящего звонка? В дебрях интернета нашел ActiveX компонент - ctConector, который обещает управление Avaya АТС по протоколу TSAPI, но описания его нет, примеров использования тоже. Методом научного тыка у меня не получается получить входящий номер... Может кто-нибудь делал что-то подобное когда-нибудь? Если поделитесь информацией - буду очень благодарен. Спасибо.
-
Разобрался. Кто будет работать с TSAPI, при возникновении проблем - обращайтесь, постараюсь помочь.
-
Добрый день! Так и не понял, как получить callID (например для AnswerCall или ClearCall). Не поможете?
-
Добрый день! Не поделитесь информацией?
-
Здравствуйте. Да, информацией поделюсь. Первое, и самое главное - ctConector работает только с Avaya Application Enablement Services (AES)... Если кто пытается произвести коннект через ctConector к IP Office - не тратьте время, это невозможно: ищите другие пути. Второе. Для того, чтобы происходил мониторинг событий CTI через ctConector необходимо провести несколько обязательных операций (в противном случае - Вы, возможно, сможете принимать звонки и производить несложные операции, но не сможете полноценно использовать возможности Avaya. Об этих операциях я расскажу ниже...) Третье. ctConector есть в 2 видах: компонента и ActiveX. Рекомендую компоненту, так как есть возможность дописывать недостающие функции, которые есть в Avaya, но не предусмотрены в компоненте (что я и делаю).
Итак. Чтобы получать информацию при звонках необходимо:
1. На вэбсервере Avaya ввести пользователя или уже использовать имеющегося пользователя – под чьим login/password Вы будете входить на вэбсервис. Вводится пользователь на Avaya Application Enablement Services (AES) через администраторский пароль. Будем говорить о AES4.2.2 Build 451... В пункте Administration -> Security DataBase -> CTI Users необходимо установить пользователю следующие параметры: Worktop Name - None Call Origination and Termination - Any Device / Device - Any Call / Device - Any Call / Call - True Так же, запомните имя сервиса (в Administrations -> Security DataBase -> Tlinks) , это что-то вроде AVAYA#AESSERVER1#CSTA#AESSERVER1 (или что-то похожее) 2. Обязательно зарегистрируйте номер телефона, с которым будете работать, в CTI Users на AES (в Administrations -> Security DataBase -> Devices). DeviceType = Phone – для простого случая, DeviceType = Agent ID – для номера, на который регистрируются при работе другие пользователи, DeviceType = VDN – телефоны, которые перенаправляют поступающие звонки на другие номера. Для простого случая (подходящего для большинства) DeviceType = Phone 3. Необходимо установить клиента Avaya TS32WIN (или другого), который поддерживал бы связь с Avaya по протоколу TSAPI (у меня по умолчанию 450 порт. Номер порта так же можно найти на AES) и регистрировал в системе библиотеки ATTPRV32.dll, Csta32.dll. . Во время инсталляции НЕ устанавливать флажок для администраторских утилит . Затем клиентскими приложениями, находящимися в поставке Avaya TS32WIN – проверить коннект с Avaya. Обязательно проверить, чтобы в операционке установились библиотеки ATTPRV32.dll, Csta32.dll.
Далее, уже в тексте программы выполнить следующее: 1. ctConector.OpenStream('AVAYA#AESSERVER1#CSTA#AESSERVER1', username, password ) username, password - данные из пункта 1 этого сообщения 2.Для того, чтобы происходил мониторинг событий (откуда Вы будете черпать информацию), необходимо выполнить: ctConector.MonitorDevice(MyNumberPhone), где MyNumberPhone - номер телефона, который Вы будете мониторить..
Все... После этих операций обрабатывайте события компонента, коих множество. И все эти события уже содержат необходимую Вам информацию. Удачи. Если кому непонятно - пишите. Постараюсь ответить.
-
Добрый день! Не могли бы Вы мне помочь? Какие библиотеки необходимы для корректной работы CtConnector'а? Возникла задача написать приложение, протоколирующее события, возникающие на AES'е. Скачал несколько версий CtConnector'а, но ни одна из них не регистрируется, сообщая, что "не найден указанный модуль". То есть, OCX тянет за собою ещё что-то, чего у меня, естественно, нет. :( Информации по всему этому делу у меня - 0. Не могли бы Вы помочь советом, либо поделившись ссылкой на контрол с корректным окружением?
-
Есть такая штука, как tsapi-client-win32 - если Вы ее установите в системе - все библиотеки пропишуться, как надо. У меня ctConector запрашивал 3 библиотеки: Csta32.dll, ATTPRV32.dll и TSINST32.dll
-
TSINST32.dll - не надо. 2 библиотеки: Csta32.dll, ATTPRV32.dll
-
Я повторюсь еще раз. Пока Вы не установите клиента Avaya у себя на компьютере (регистрация библиотек Csta32.dll, ATTPRV32.dll) - то ctConector работать у Вас не будет. Я устанавливал tsapi-client-win32 (TSAPI Windows Client) через setup.exe... Просто, напрямую регистрировать Csta32.dll, ATTPRV32.dll в системе - я не пробовал.
И главное - действуйте по инструкции -> asafr (07.12.10 16:37)
-
Если у Вас лицензионная AES - то tsapi-client-win32 должно быть...
-
Здравствуйте!
Не могли бы вы мне посоветовать список того что надо прочитать для того, чтобы понять как работать с Avaya ATC?
У меня есть только документация на 1500 страниц (описание и установка функций). Ничего не понятно. А нужно отображать в программе все события.
Заранее спасибо!
-
Меня спросили, как получить входящий номер с помощью ctConectorX. После того, как Вы зарегистрируете соответствующие библиотеки в ОС и выполните все, что я описал в asafr (07.12.10 16:37) [4] , то ctConectorX начинает реагировать на события телефона Avaya. В каждом событии при входящем дозвоне присутствует параметр, отображающий номер входящего звонка. События на входящий звонок из внешней сети и из внутренней (мини-атс) могут отличаться. Сейчас провел эксперимент. Входящий звонок по внутренней линии (пока я еще не взял трубку и у звонящего мне идут длинные гудки) - обрабатывается событием OnctConectorX1CSTADelivered. Там присутствует параметр callingDevice - который и есть входящий номер...
-
tempoff13, у меня, собственно, есть подобное описание на английском. Я разбирался и даже а помощь него - расширил возможности компонента, дописав свою часть... А начинал разбираься просто: Создал тестовую программу, в которой написал обработку всех событий ctConectorX c описанием и значениеми параметров события, например: procedure TfmMain.ctConectorX1CSTADelivered(Sender: TObject; monitorCrossRefId,
connectionCallId: Integer; connectionDevice, alertingDevice, callingDevice,
calledDevice, lastRedirectionDevice: ShortString; localConnectionInfo, cause,
deliveredType: Integer; trunkGroup, trunkMember, split, userInfo: ShortString;
reason: Integer; distributingDevice, ucid: ShortString;
flexibleBilling: Boolean);
begin
Memo1.Lines.Add('================================================');
Memo1.Lines.Add('Cобытие ctConectorX1CSTADelivered');
Memo1.Lines.Add('connectionDevice - ' + connectionDevice);
Memo1.Lines.Add('alertingDevice - ' + alertingDevice);
Memo1.Lines.Add('callingDevice - ' + callingDevice);
Memo1.Lines.Add('calledDevice - ' + calledDevice);
Memo1.Lines.Add('lastRedirectionDevice - ' + lastRedirectionDevice);
Memo1.Lines.Add('trunkGroup - ' + trunkGroup);
Memo1.Lines.Add('trunkMember - ' + trunkMember);
Memo1.Lines.Add('split - ' + split);
Memo1.Lines.Add('userInfo - ' + userInfo);
Memo1.Lines.Add('distributingDevice - ' + distributingDevice);
Memo1.Lines.Add('ucid - ' + ucid);
Memo1.Lines.Add('connectionCallId - ' + IntToStr(connectionCallId));
FconnectionCallId := connectionCallId;
FcallingDevice := callingDevice;
FcalledDevice := calledDevice;
FconnectionCallId := connectionCallId;
CtConectorX1.QueryAgentLogin(split);
CtConectorX1.QueryDeviceInfo(split);
CtConectorX1.QueryAgentState(ed_MyNumber.Text);
ctConectorX1.QueryDeviceName(split);
ctConectorX1.QueryDeviceName(callingDevice);
ctConectorX1.QueryDeviceName(alertingDevice);
end; Заодно вызывал другие команды.... И так по всем событиям. Теперь часто пользуюсь этой программой, когда приходится анализировать поведение AVAYA для написания других программ.
-
Мне не жалко, если дадите адрес - могу скинуть тестовую программу с исходниками, где идет обработка всех событий. Единственно, она не очень аккуратно написана (для себя и быстро делалось), да и компонент ctConectorX может начать ругаться у Вас, так как там я работаю с уже измененным мной компонентом. Кроме того, login/password для коннекта c AvayaAES - надо будет изменить на свои.
-
Да, если можно... Буду очень благодарен! tempoff13 @ ya.ru
Я у Вас еще кое-что спросить хотел! Но это уже наверно по почте!
Спасибо...!
-
Отправил. Подробности в письме. Номера телефонов пропишите в INI-файле (об этом в письме не сообщи. Забыл)
-
А не прописывали в компоненты события мониторинга AES сервера? cstaSysStatEvent
-
Именно это событие не прописывал. Но они опубликованы в исходниках - так что можно попытаться.
-
Зравствуйте!
Случайно наткнулась на вашу статью. Пытаюсь разобраться в данном вопросе. И у меня проблема о которой даже стыдно сказать!!)) Не могу найти компоненту ctConector в дебрях интернета!! Не могли бы вы мне помочь? Тыкнуть ссылкой))
Заранее Спасибо!
-
|