Конференция "Сети" » Управление Avaya АТС
 
  • asafr (22.10.10 17:17) [0]
    Здравствуйте.
    Задаю вопрос людям, которые понимают суть вопроса.
    Подскажите пожалуйста, как получить информацию о входящем звонке на телефон Avaya?
    На сайте Avaya скачал WSDL - файлы, но с помощью их я "достучался" только до самых простых операций (позвонить, ответить, положить трубку и т.д.). Но как узнать - номер входящего звонка?
    В дебрях интернета нашел ActiveX компонент - ctConector, который обещает управление Avaya АТС по протоколу TSAPI, но описания его нет, примеров использования тоже. Методом научного тыка у меня не получается получить входящий номер...
    Может кто-нибудь делал что-то подобное когда-нибудь? Если поделитесь информацией - буду очень благодарен.
    Спасибо.
  • asafr (27.10.10 10:34) [1]
    Разобрался.
    Кто будет работать с TSAPI, при возникновении проблем - обращайтесь, постараюсь помочь.
  • Nikita (06.12.10 17:28) [2]
    Добрый день! Так и не понял, как получить callID (например для AnswerCall или ClearCall). Не поможете?
  • dchumach © (07.12.10 16:13) [3]
    Добрый день!
    Не поделитесь информацией?
  • asafr (07.12.10 16:37) [4]
    Здравствуйте.
    Да, информацией поделюсь.
    Первое, и самое главное - 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 - номер телефона, который Вы будете мониторить..

    Все... После этих операций обрабатывайте события компонента, коих множество. И все эти события уже содержат необходимую Вам информацию.
    Удачи.
    Если кому непонятно - пишите. Постараюсь ответить.
  • Gruz © (28.02.11 19:23) [5]
    Добрый день!
    Не могли бы Вы мне помочь?
    Какие библиотеки необходимы для корректной работы CtConnector'а?
    Возникла задача написать приложение, протоколирующее события, возникающие на AES'е.
    Скачал несколько версий CtConnector'а, но ни одна из них не регистрируется, сообщая, что "не найден указанный модуль".
    То есть, OCX тянет за собою ещё что-то, чего у меня, естественно, нет. :(
    Информации по всему этому делу у меня - 0.
    Не могли бы Вы помочь советом, либо поделившись ссылкой на контрол с корректным окружением?
  • asafr (17.03.11 13:28) [6]
    Есть такая штука, как tsapi-client-win32 - если Вы ее установите в системе - все библиотеки пропишуться, как надо. У  меня ctConector запрашивал 3 библиотеки: Csta32.dll, ATTPRV32.dll и TSINST32.dll
  • asafr (17.03.11 17:41) [7]
    TSINST32.dll - не надо. 2 библиотеки:
    Csta32.dll, ATTPRV32.dll
  • asafr (17.03.11 17:53) [8]
    Я повторюсь еще раз. Пока Вы не установите клиента Avaya у себя на компьютере (регистрация библиотек Csta32.dll, ATTPRV32.dll) - то ctConector работать у Вас не будет.
    Я устанавливал tsapi-client-win32 (TSAPI Windows Client) через setup.exe... Просто, напрямую регистрировать Csta32.dll, ATTPRV32.dll в системе - я не пробовал.

    И главное - действуйте по инструкции -> asafr   (07.12.10 16:37)
  • asafr (17.03.11 17:59) [9]
    Если у Вас лицензионная AES - то tsapi-client-win32 должно быть...
  • tempoff13 (17.05.11 19:20) [10]
    Здравствуйте!

    Не могли бы вы мне посоветовать список того что надо прочитать для того, чтобы понять как работать с Avaya ATC?

    У меня есть только документация на 1500 страниц (описание и установка функций). Ничего не понятно. А нужно отображать в программе все события.

    Заранее спасибо!
  • asafr (18.05.11 12:16) [11]
    Меня спросили, как получить входящий номер с помощью ctConectorX.
    После того, как Вы зарегистрируете соответствующие библиотеки в ОС и выполните все, что я описал в asafr   (07.12.10 16:37) [4] ,
    то ctConectorX начинает реагировать на события телефона Avaya.
    В каждом событии при входящем дозвоне присутствует параметр, отображающий номер входящего звонка. События на входящий звонок из внешней сети и из внутренней (мини-атс) могут отличаться.
    Сейчас провел эксперимент. Входящий звонок по внутренней линии (пока я еще не взял трубку и у звонящего мне идут длинные гудки) - обрабатывается событием OnctConectorX1CSTADelivered.
    Там присутствует параметр callingDevice - который и есть входящий номер...
  • asafr (18.05.11 12:22) [12]
    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 для написания других программ.
  • asafr (18.05.11 12:26) [13]
    Мне не жалко, если дадите адрес - могу скинуть тестовую программу с исходниками, где идет обработка всех событий. Единственно, она не очень аккуратно написана (для себя и быстро делалось), да и компонент ctConectorX может начать ругаться у Вас, так как там я работаю с уже измененным мной компонентом.
    Кроме того, login/password для коннекта c AvayaAES - надо будет изменить на свои.
  • tempoff13 (20.05.11 14:57) [14]
    Да, если можно... Буду очень благодарен! tempoff13 @ ya.ru

    Я у Вас еще кое-что спросить хотел! Но это уже наверно по почте!

    Спасибо...!
  • asafr (24.05.11 12:22) [15]
    Отправил. Подробности в письме.
    Номера телефонов пропишите в INI-файле (об этом в письме не сообщи. Забыл)
  • ksg77 (28.07.11 11:54) [16]
    А не прописывали в компоненты события мониторинга AES сервера?
    cstaSysStatEvent
  • asafr (28.07.11 14:20) [17]
    Именно это событие не прописывал. Но они опубликованы в исходниках - так что можно попытаться.
  • UmkaSServera (07.10.11 07:25) [18]
    Зравствуйте!

    Случайно наткнулась на вашу статью. Пытаюсь разобраться в данном вопросе. И у меня проблема о которой даже стыдно сказать!!))
    Не могу найти компоненту ctConector в дебрях интернета!! Не могли бы вы мне помочь? Тыкнуть ссылкой))

    Заранее Спасибо!
  • asafr (28.10.11 14:48) [19]
  • UmkaSServera (01.11.11 09:58) [20]
    Спасибо большое!)
  • asafr (29.11.11 00:02) [21]
    Решил я написать здесь ответ на одно письмо, которое пришло мне по e-mail. Выкладываю его здесь, так как он может кому-нибудь пригодится в рамках разработки по взаимодействию с Avaya ATC.
    Речь пойдет о переключении во время разговора на свободную линию многоканального телефона. Как раз в этот момент у абонента, которому говорят "Подождите минуточку" - звучит душевная музыка, пока он томится в ожидании, когда его собеседник, наконец-то, закончит болтать неизвестно с кем.
    Вариантов решений много. Самый простой - это создать интерфейс с помощью WSDL - файла, выложенного на сайте Avaya, но сам набор инструментов, который предоставляет данный интерфейс крайне ограничен. Поэтому рассмотрим всё через призму того же ctConector.
    Приведу код идеально работающей программы, без учета моментов, когда "шаловливые ручки" пользователей находят такие варианты выведения программы из нормального режима работы, что сам никогда бы в жизни до такого не додумался.
    Примерный код, написанный и протестированный быстренько минут за 10...

    const
     MyPhone = '16105';
     FirstPhone = '16708';
     SecondPhone = '16709';
    ........................................................
    ........................................................
    .......................................................
    type
     TRingProp = record
       CallId : Integer;
       CalledPhone,
       CallingPhone : string;
      End;
     PRingProp = ^TRingProp;
    ...........................................................
    ...........................................................
    .............................................................
    private
       ListRings : array [0..1] of PRingProp;
       FirstLine : Boolean;
    ...........................................................
    ...........................................................
    .............................................................
    procedure TfmMain.btMakeCallFirstLineClick(Sender: TObject);
    begin
    //Вызываю первого абонента
     FirstLine := True;
     CtConectorX1.MakeCall(MyPhone, FirstPhone, 'Test программа');
    end;
    {
    После вызова абонента FirstPhone - этот абонент может брать или не брать трубку. Проследите за реакцией ctConector сами.
    }

    ...............................................................................
    ................................................................................ ....
    ................................................................................
    //После вызова абонента, во время "длинных гудков", обрабатывается событие
    //OnctConector-а - CSTADelivered (Оно чень важное. Из него черпаем необходимую информацию)

    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);
     function LineResume : Byte;
     begin
       If FirstLine Then Result := 0
                            Else Result := 1;
     end;
    begin
         If Assigned(ListRings[LineResume]) Then
         Begin
           Dispose(ListRings[LineResume]);
         End;
         New(ListRings[LineResume]);
         ListRings[LineResume].CallId := connectionCallId;
         ListRings[LineResume].CalledPhone := calledDevice;
         ListRings[LineResume].CallingPhone := callingDevice;
    end;
    ..............................................................
    .............................................................
    ...........................................................
    procedure TfmMain.btMakeCallSecondLineClick(Sender: TObject);
    begin
     //Перевожу звонок на второго абонента. В этот момент у первого абонента
    // начинает звучать душещипательная мелодия.
     FirstLine := False;
     CtConectorX1.ConsultationCall(ListRings[0].CallId , ListRings[0].CallingPhone , SecondPhone, 'Тестовый вызов');
    end;

    {
    После перевода звонка - так же происходит событие OnCSTADelivered.. Булева переменная FirstLine = False
    }

    ...................................................................
    ..................................................................
    ...............................................................
    //Ну.. и завершающий аккорды:
    procedure TfmMain.btClearMyCallClick(Sender: TObject);
    begin
    //Отбиваем звонок с первым абонентом и болтаем с номером SecondPhone
     CtConectorX1.ClearCall(ListRings[0].CallId, ListRings[0].CallingPhone);  
    end;

    //ИЛИ

    procedure TfmMain.btClearSecondCallClick(Sender: TObject);
    begin
    //Отбиваю абонента (или длинные гудки), на которого перевел звонок (SecondPhone)
     CtConectorX1.ClearCall(ListRings[1].CallId, ListRings[1].CalledPhone);

    //...и возвращаюсь к первому абоненту (FirstPhone). Продолжаю с ним разговор
     CtConectorX1.AnswerCall(ListRings[0].CallId, ListRings[0].CallingPhone)
    end;




    Всё. Оговорюсь, при звонках на внешние номера - некоторые события могут наступить раньше или даже вместо события OnCSTADelivered. Но в любом случае - необходимые данные из этих событий можно получить.
  • Segi (29.11.11 10:24) [22]
    Добрый день всем!
    Я в делфи не очень, но все же хочу уточнить: можно ли в ней написать программку, которая представляет из себя telnet сервер с открытым портом для клиентов. Установленное соединение «уходит» на другой порт (генерится автоматически). Таким образом, порт для приема соединений для клиентов всегда один и тот же (стандартный сервер обмена данными аля  WEB). Клиенты это АТСки Avaya.
    На выходе должен быть log файл полученных данных от клиента (все что прилетает) с ЕЖЕДНЕВНОЙ ротацией.
    Очень нужна помощь в этом. Если кто знает примерно как можно это реализовать, пожалуйста подскажите.
    Заранее благодарю.
  • asafr (29.11.11 11:29) [23]
    В Дельфи можно написать абсолютно все, как и на других - более популярных сейчас, языках... Все зависит от "прокладки" между сидением и монитором.
  • Segi (29.11.11 11:41) [24]
    asafr, ну "прокладка" универсальная :). Вы можете дать какую-нибудь полезную информацию или ссылку чтобы осуществить задуманное?
    Я бы погуглил, однако связь инета у меня в деревне оставляет желать лучшего. Это еще не учитывая тариф 1мб = 2руб :(.
  • asafr (29.11.11 16:14) [25]
    Я бы мог попытаться. Напишите более подробное ТЗ на мыло -  я посмотрю и скажу смогу помочь в данном вопросе или нет. Просто из того, что написали Вы  "(29.11.11 10:24) [22]"  я понял только в общих чертах, вполне возможно, что и неправильно.
    Может попытаюсь сделать что-нибудь сам, а может найду ссылку.... :)
  • HIC (03.12.11 04:04) [26]
    Привет Мастерам!
    На Делфи написан простенький телефонный справочник. Хочу сделать, чтобы из него можно было позвонить на номер выбранного индивидуума.
    Использую Delphi XE, ОС Win7 x64. Не могу разобраться с установкой ctConector. Помогите, пожалуйста.
  • asafr © (09.12.11 15:20) [27]
    HIC, подробней написать, как устанавливать связь по протоколу TSAPI с помощью ctConector, по-моему, уже невозможно.
    Остается либо книжку написать, либо за тебя все установить.
    см. asafr   (07.12.10 16:37) [4]  и сои посты ниже....
  • HIC (12.12.11 11:03) [28]
    А без помощи ctConnector? У меня IP Office.
    А вы писали выше:

    > Если кто пытается произвести коннект через ctConector к
    > IP Office - не тратьте время, это невозможно: ищите другие
    > пути.

    Также вы писали:

    > На сайте Avaya скачал WSDL - файлы, но с помощью их я "достучался"
    > только до самых простых операций (позвонить, ответить, положить
    > трубку и т.д.).

    Вот описание последнего мне и нужно.
  • asafr © (12.12.11 15:25) [29]
    выслал на e-mail пример работы с Avaya на WSDL.
  • Ведьмак (19.12.11 11:36) [30]
    Здравствуйте!
    А есть возможность при переключении во время разговора на свободную линию программно выбрать музыку которую будет слушать абонент, которому сказали "подождите минуточку"?
  • asafr © (19.12.11 15:03) [31]
    Нет... Невозможно...
    Дело в том, что эта музыка "хранится" на самой АТС.
    То есть - существует некая плата, которая находится среди всего прочего "железа" АТС  и хранит/воспроизводит эту музыку. Достучатся до неё невозможно.
  • Ведьмак (20.12.11 05:26) [32]
    а как же обзвонщики разных компаний запускают голосовые файлы? Неужели нет обходных путей.
    К примеру, звонят нам чтобы сообщить о задолженности за кабельное. Как только мы берем трубку тут же запускается голосовой файл. Физически человек в этом с той стороны не участвует. Неужели нельзя это осуществить?
  • Ведьмак... (20.12.11 05:27) [33]
    а как же обзвонщики разных компаний запускают голосовые файлы? Неужели нет обходных путей.
    К примеру, звонят нам чтобы сообщить о задолженности за кабельное. Как только мы берем трубку тут же запускается голосовой файл. Физически человек в этом с той стороны не участвует. Неужели нельзя это осуществить?
  • Ведьмак (20.12.11 05:35) [34]
    И ещё я хотел спросить про группы перехватов.
    Не могу с ней разобраться.
    Есть группа, в ней к примеру 4 номера. всё настроено администратором. Моя программа ловит звонки. Т.е. к примеру, если я перехватил звонок другого нашего сотрудника, то моя программа просто получает событие коннект. А у того номера с которого был перехват дисконнект появляется только когда я положу трубку. Я знаю, что есть функция GroupPickupCall. Но мне никак не сообразить как с ней работать
  • Ведьмак (20.12.11 05:40) [35]
    И перенаправление звонка. необходимо вызвать функцию TransferCall, верно? Но предварительно получается необходимо фунцией  HoldCall отправить активный звонок на удержание и функцией  MakeCall вызвать абонента которому необходимо перенаправить звонок? У меня такая система не работает.
    Извините меня за мои глупости. Я просто совсем ещё новичок в этом во всем.
    Спасибо большое за помощь!!
  • asafr © (20.12.11 11:01) [36]
    Обзвонщики - это не музыка, которая играет при HOLD. Это другое. Это проигрывается звуковой файл...
    Вопрос должен был звучать: "Как программно передавать звуковой файл по телефону".
    Ответ: "Не знаю. Не занимался этим. Но уверен, что можно... Надо "копать"  :)
  • asafr © (20.12.11 11:08) [37]
    Перенаправление звонка... Очень просто... Когда ты перехватываешь звонок другого абонента, скорее всего ты перехватываешь его CallID. Когда отбиваешь звонок - указываешь, что положил трубку с этим CallID/ У абонента прерывается звонок...
    Когда кладешь трубку надо указывать свой callID, а не перехваченный от абонента...
    Я на эти "грабли" натыкался уже.
  • asafr © (20.12.11 11:22) [38]
    Кстати.. Насчет обзвонщика. Не знаю, возможно это сделать по протоколу TSAPI ? Не рассматривал, но что-то подсказывает мне, что нет...
    Насколько я слышал, у AVATA есть продукт Contact Center Express (вроде бы), который может автообзванивать и рассылать СМС... Но это уже другая история...
  • han_malign (20.12.11 18:06) [39]

    > Кстати.. Насчет обзвонщика. Не знаю, возможно это сделать
    > по протоколу TSAPI ? Не рассматривал, но что-то подсказывает
    > мне, что нет...

    - дык, обычный VoIP софт-фон, через DMCC XML SDK подключается терминал и через него гонится RTP... Управление - можно там-же, можно через TSAPI...

    поиск документации - "cmapixml-sdk" (официальный на support.avaya.com требует логина)
  • Ведьмак (21.12.11 05:01) [40]
    asafr, han_malign, Спасибо огромное за информацию, теперь я знаю в каких направлениях копать!!

    han_malign, может вы тогда знаете как работать с SIPами через AES? Кто-то говорит, что для этого обязательно необходим SES, а кто-то говорит, что можно и через AES, но с ограничениями.
    Был бы безмерно признателен, если бы и в этом вопросе вы указали верное направление!
  • Ведьмак.. (21.12.11 07:33) [41]
    Перенаправление вызова. Мне позвонили, хочу перенаправить клиента на другого менеджера
    Мои действия:
    1. Отправляю клиента повисеть функцией HoldCall
    2. Вызываю нужного мне менеджера функцией MakeCall, затем получив ID нового звонка (уже моего с менеджером) перехожу к шагу три
    3. Перенаправляю вызов функцией TransferCall, в параметрах указав id звонка который на удержании и id активного звонка.
    Всё верно??
  • Ведьмак.. (21.12.11 07:34) [42]
    4. А теперь, чтобы у второго менеджера звонок не сорвался, когда кладу трубку указав, свой CallID? Я так и делаю. Ведь первоначально это мой звонок. Но скидывается у меня только второй вызов (с менеджером) Первый висит на удержании. вот не могу с этим разобраться.
  • han_malign (21.12.11 08:46) [43]
    TSAPI for Avaya Communication Manager
    Programmer’s Reference
    ....
    Transfer Call Service
    This service provides the transfer of an existing held call (heldCall) and another active or
    proceeding call (alerting, queued, held, or connected) (activeCall) at a device provided that
    heldCall and activeCall are not both in the alerting state at the controlling device. The Transfer
    Call Service merges two calls with connections at a single common device into one call. Also,
    both of the connections to the common device become Null and their connectionIDs are
    released
    . A connectionID that specifies the resulting new connection for the transferred call is
    provided.


    З.Ы.
    .............
    The TSAPI Service provides information about version-dependent private services and events
    in the CSTAGetAPICaps Confirmation private data interface. For Private Data Version 8 the
    ATTGetAPICapsConfirmation Event has been updated to include the singleStepTransfer field.
    .............
  • Ведьмак (21.12.11 10:51) [44]
    (ушел внимательно читать документацию)

    Спасибо!

    А интересно, можно подобные манипуляции проводить с Cisco? Наверняка есть возможность и литература подобная TSAPI for Avaya Communication Manager Programmer’s Reference? Вы случайно не в курсе?
  • asafr © (21.12.11 11:56) [45]
    Попробуй с TransferCall поэкспериментировать таким способом... Вместо TransferCall примени ConsultationCall и напиши, что получилось. Интересно...

    CtConectorX1.ConsultationCall(FconnectionCallId, FcallingDevice, TranferCallDevice, 'Тестовый вызов');
    CtConectorX1.ClearCall(FconnectionCallId, FcallingDevice);



    , где FconnectionCallId - это connectionCallId в соответствющих событиях при входящем или исходящем звонках;
    FcallingDevice - это callingDevice в соответствющих событиях при входящем или исходящем звонках;
    TranferCallDevice - номер, куда переправляешь звонок
  • asafr © (21.12.11 11:58) [46]
    к моему посту выше...
    Если разнести по разным кнопкам 1 и 2 строки, то после выполнения первой строки звучит как-раз душевная мелодия..
  • asafr © (21.12.11 12:06) [47]
    han_malign, присоединяюсь к вопросу
    Ведьмак   (21.12.11 05:01) [40] ...

    Если знаете, ответьте пожалуйста, мне тоже интересно...
  • han_malign (21.12.11 18:18) [48]

    > с SIPами через AES?

    - SIP - я на AVAYA ни разу и не видел, там в основном H.323/H.225...

    Avaya MultiVantage® Application
    Enablement Services
    Overview

    SIP Support
    The Session Initiation Protocol (SIP) is a control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. In more familiar terms, SIP means real-time communication, presence, and collaboration in a variety of forms including voice, video, or instant text messaging.

    Specific Avaya SIP endpoints can be controlled with AE Services 4.1 (or later) and Communication Manager 5.0 (or later). AE Services 4.2 supports SIP enabled endpoints (Avaya 16CC and 9620, 9630, 9630G, 9640, and 9640G SIP endpoints with firmware version 2). The Avaya 16CC Endpoints can be used only with Expert Agent Selection (skills-based routing).

    The requirements for SIP support are as follows:
    ● Communication Manager 5.0, or later
    ● SIP Enablement Services (SES) 5.0, or later

    AE Services 4.1 with Avaya Communication Manager 5.0 and SIP Enablement Services (SES) 5.0 introduce the ability to control Avaya SIP endpoints via TSAPI/JTAPI. This capability is not available through DLG (DEFINITY LAN Gateway) or CVLAN.


    Только не пойму какая связь между AES и SIP
    - с точки зрения AES - SIP-терминал/транк ничем не отличается от любого другого терминала/транка.
    - с другой строны - SIP-терминалу - абсолютно по барабану кокой там VoIP шлюз стоит - AVAYA, Cisco, или вообще Asterisk - лишь бы протокол поддерживал...

    Последние CM-ы могут работать с SIP-терминалами, а SES нужен для SIP-транков и прокси.
    http://support.avaya.com/css/Products/P0276
    https://support.avaya.com/css/Products/P0001
  • asafr © (21.12.11 23:22) [49]
    han_malign, спасибо. Посмотрю.
    Ведьмак, а не решается ли твой вопрос тем, что я написал в этой ветке
    asafr   (29.11.11 00:02) [21]  ?
  • Ведьмак. (22.12.11 04:49) [50]
    asafr, не получается у меня! Кажется я жестко туплю.

    и так asafr   (29.11.11 00:02) [21]   пробовал. Спасибо большое за вашу помощь!!)))

    Получается, что я просто отправляю первый звонок на удержание и вызываю второго абонента. Когда кладу трубку, прерывается звонок мой и второго абонента, а первый так и остается висеть на удержании, хотя я верно указываю параметры.
    Попробую ещё поразбираться. Скорее всего ошибка в какой-нибудь мелочь, которую я просто ещё не понимаю. Уже ни раз так было
  • Ведьмак. (22.12.11 04:51) [51]
    asafr, как только вопрос решу, тут же отпишусь))

    Если действительно будете разбираться в вопросе связи между AES и SIP, поделитесь информацией?) Со своей стороны обещаю то же)
  • Фея (13.01.12 05:19) [52]

    > - дык, обычный VoIP софт-фон, через DMCC XML SDK подключается
    > терминал и через него гонится RTP... Управление - можно
    > там-же, можно через TSAPI...


    А как можно управлять через TSAPI подключенный через DMCC XML SDK терминал? Что-то я не могу сообразить? Подключение в двух разных случаях к серверу идет по-разному. Я не могу в программку, где идет подключение через TSAPI внедрить работу через DMCC XML SDK(
  • han_malign (13.01.12 08:40) [53]

    > А как можно управлять через TSAPI подключенный через DMCC XML SDK терминал?

    - подключенный через DMCC XML SDK терминал, с точки зрения TSAPI - ничем не отличается от любого другого и им точно так же можно управлять с помощью функций из "Chapter 6: Call Control Service Group"...

    > Я не могу в программку, где идет подключение через TSAPI внедрить работу через DMCC XML SDK(

    - подключения не являются взаимоисключающими и вполне уживаются в рамках одного процесса...

    Вот два сеанса TSAPI - в одном процессе - действительно не работают... А открыть, параллельно с TSAPI, TCP-подключение к DMCC серверу и перекидываться XML пакетами - никто не запрещал...
  • Фея (13.01.12 10:06) [54]
    Я кажется запуталась! Заранее извиняюсь, если вопросы покажутся очень глупыми.

    > TCP-подключение к DMCC серверу

    Для работы через DMCC мне нужен отдельный сервер?? или достаточно существующего AES? Просто для работы с TSAPI я в соё время установила tsapi client, здесь тоже нужны доп.установки? или ServerProvider.dll хватит?

    Сейчас я работу начинаю с acsOpenStream. Когда мне необходимо воспользоваться услугой передачи звукового файла по телефону, я подключаюсь к DMCC, передаю файл и отключаюсь, верно?!
    Получается если для подключения в первом случае нужно имя сервера, то во втором IPадрес и Порт.
    Не могу найти литературу. Только пример нашла на C# и help где перечисленны функции. Осталось понять суть всего что происходит, чтобы воспользоваться найденными инструментами!!
  • han_malign (13.01.12 10:39) [55]

    > Когда мне необходимо воспользоваться услугой передачи звукового файла по телефону

    - на самом деле функции автоответчика и голосового меню в AVAYA, вроде как, уже заложены и их надо просто настроить(тут я помочь не могу, не в курсе) не заморачиваясь с программированием...

    > Не могу найти литературу.

    http://support.avaya.com/css/Products/P0358/Application%20Developer%20Information
    начни с
    http://support.avaya.com/css/Products/P0358/Overview
  • Фея (13.01.12 10:46) [56]

    >  на самом деле функции автоответчика и голосового меню в
    > AVAYA, вроде как, уже заложены и их надо просто настроить(тут
    > я помочь не могу, не в курсе) не заморачиваясь с программированием.
    > ..

    Заказчик просит заморочек!))

    Огромное спасибо, han_malign! Буду разбираться!))
  • Фея (16.01.12 06:45) [57]
    han_malign, столкнулась с такой проблемой:

    // NOTE: You only need to know provide a value for SwitchName OR SwitchIpInterace
    // SwitchName is name of the Avaya Communications Manager as administered on AES.
    // SwitchIpInterface is the IP Address of the Avaya Communications Manager.

    Но мы не используем Avaya Communications Manager, обходились без него!! Получается, что всё таки нам он нужен?
  • Фея (16.01.12 07:30) [58]
    О, с Avaya Communications Manager я разобралась сама!))
    Извините за беспокойство)
  • Фея (18.01.12 11:48) [59]
    И снова я! И снова туплю((

    Подключаюсь к DMCC серверу. Начинаю с StartApplicationSession!
    Затем serviceProvider.GetNewDevice();
    и тогда событие currentDevice.OnGetDeviceIdResponse += new GetDeviceIdResponseHandler(i_deviceId); проходит, а
    currentDevice.getPhone.OnRegisterTerminalResponse += new RegisterTerminalResponseHandler(PhoneServicesClass_OnRegisterTerminalResponse); уже нет!!! Никакой реакции..
    и соответственно не могу начать мониторить номер телефона((
    Не подскажете в чем мой косяк?
  • han_malign (19.01.12 11:10) [60]
    currentDevice.getPhone.registerTerminal(...) ?

    З.Ы. Не знаю как в .NET, а в чистом XML перед registerTerminal надо сначала startMonitor сделать...
  • Шумахер (05.04.12 07:10) [61]
    Здравствуйте, уважаемые!
    Случайно мне тут никто не подскажет можно ли обмануть как-нибудь AES и подцепить номер, идущий через Centrex?
  • Доцент (05.01.13 23:32) [62]
    Всем привет, такой вопрос, возможно ли с помощью данного компанента CtConector производить дейсвия с другими поставщиками услуг IP телефонии?
    Моя задача пока состоит в том чтобы считать номер входящего звонка и найти его в базе клиентов....
  • han_malign (11.01.13 10:43) [63]

    > обмануть как-нибудь AES и подцепить номер, идущий через Centrex?

    - AES/DMCC интерфейс позволяет контролировать только IP и цифровые телефоны работающие по (проприетарному) DPC протоколу AVAYA.

    > с другими поставщиками услуг IP телефонии?

    - для других поставщиков IP телефонии, есть другие интерфейсы...
    Самый распространенный способ - захват IP трафика(sniffer) через SPAN-порт(Cisco, у других это может называться - monitor, mirror, managed порт) маршрутизатора...

    Большинство калл-центров имеют интерфейс для экспорта сигнализации обработки вызовов. Например - Cisco COM CTIOS Client Interface Library.

    В вашем случае, возможно, достаточно получать CDR/SMDR тарификацию от вашей АТС...

    Если у вас Asterisk - исходники открыты - лепите что хотите...
  • brother © (15.01.13 12:35) [64]
    > Если у вас Asterisk

    вот это просто песня для подобных дел...
  • mikelog70 © (28.02.13 10:40) [65]
    А для какой версии дельфи эта компонента?
  • mikelog70 © (28.02.13 13:06) [66]
    и где взять *.dcu файлы для дельфи компонент? вархиве по ссылке их нет.
  • Vserj © (04.02.14 18:36) [67]
    Добрый день. Обращаюсь к тем, кто разобрался с компонентом TCtConectorX
    Так как документации нет, может мои вопросы покажутся легкими.
    Научился снимать статусы с Агента. Но установить статус не удается. Что-то не хватает. Не знаю, какими функциями связать Агента с Девайсом. Какой должен быть порядок вызовов функций начиная CtConectorX1.OpenStream?
    Спасибо.
  • rostislav-k © (21.04.14 15:54) [68]
    Добрый день!

    Уважаемые гуру, есть вопросы, сможете подсказать решение/доку:

    1. Может это конечно из-за постоянных запусков/выходов (отлаживаю программу), но MonitorDevice частенько не выполняется и, соответственно, звонки не мониторятся.
    2. Не могу понять как получить расширенную информацию о звонке: Имя звонящего, время и продолжительность звонка.
    3. Есть ли возможность произвести запись разговора?

    Спасибо
 
Конференция "Сети" » Управление Avaya АТС
Есть новые Нет новых   [119539   +46][b:0.001][p:0.005]