Получение статуса телефона
Модератор: Administrator
Получение статуса телефона
Здравствуйте.
Подскажите, как в программе получить информацию, свободен телефон или занят, зная его номер?
Используется DMCC 6.3.3
Я в программировании по Avaya новичок. Программа пишется на Java
Подскажите, как в программе получить информацию, свободен телефон или занят, зная его номер?
Используется DMCC 6.3.3
Я в программировании по Avaya новичок. Программа пишется на Java
Re: Получение статуса телефона
Инструментарий разработчика приложений вполне доступен на саппорте авайском.
Тут нет программистов, особенно на java
Тут нет программистов, особенно на java
Re: Получение статуса телефона
Точнее, не на саппорте, а на девконнекте.Serg_Y писал(а):Инструментарий разработчика приложений вполне доступен на саппорте авайском.
А вот за всех говорить не стоит...Serg_Y писал(а):Тут нет программистов, особенно на java
Re: Получение статуса телефона
Насколько я понял, состояние занят/свободен можно определить по состоянию определенных кнопок/ламп.
Проблема в том, чтобы подключиться к телефону, зная его номер и IPAddress
Проблема в том, чтобы подключиться к телефону, зная его номер и IPAddress
Re: Получение статуса телефона
Все не так просто, не подключитесь вы так просто к телефону...
Правильный путь такой, использовать собственно, тот путь, на который явно указывает авайя, а именно использовать AES сервер, другого пути именно с СМ нет...
Правильный путь такой, использовать собственно, тот путь, на который явно указывает авайя, а именно использовать AES сервер, другого пути именно с СМ нет...
Re: Получение статуса телефона
Ну слово 'DMCC' произнесено было, вроде даже сопровождено относительно свежей версией. А вот насколько правильно применено сие заклинание - вопрос...Serg_Y писал(а):Правильный путь такой, использовать собственно, тот путь, на который явно указывает авайя, а именно использовать AES сервер, другого пути именно с СМ нет...
Re: Получение статуса телефона
Делаю следующее:
До этого места все работает.
Далее хочу получить список телефонов. Делаю следующее:
На последней строке ошибка ch.ecma.csta.errors.InvalidDeviceStateException
Подозреваю, что передаю не тот ИД.
Подскажите, как правильно получить список телефонов?
Код: Выделить всё
provider = ServiceProvider.getServiceProvider(properties);
devServ = (DeviceServices) provider.getService(com.avaya.csta.device.DeviceServices.class.getName());
GetDeviceId devRequest = new GetDeviceId();
devRequest.setSwitchIPInterface(callServerAddress);
devRequest.setExtension(extension);
GetDeviceIdResponse response = null;
DeviceID deviceID = null;
response = devServ.getDeviceID(devRequest);
if(response != null)
deviceID = response.getDevice();
Далее хочу получить список телефонов. Делаю следующее:
Код: Выделить всё
GetDeviceIdList request = new GetDeviceIdList();
request.setSessionID(provider.getSessionID());
GetDeviceIdListResponse resp = devServ.getDeviceIdList(request);
Подозреваю, что передаю не тот ИД.
Подскажите, как правильно получить список телефонов?
Re: Получение статуса телефона
Если вам надо мониторить состояние - не проще это через JTAPI делать?
Re: Получение статуса телефона
Мониторить состояние - это первое, что нужно сделать. Дальше будет и звонки, и конференции, и еще много чего.
DMCC я выбрал потому, что он показался мне проще, чем JTAPI.
DMCC я выбрал потому, что он показался мне проще, чем JTAPI.
Re: Получение статуса телефона
А список каких телефонов вы хотите получить? Я до сего момента считал, что DMCC - он для работы с конкретным station
Re: Получение статуса телефона
Вот. Этого я не знал.gosha писал(а):А список каких телефонов вы хотите получить? Я до сего момента считал, что DMCC - он для работы с конкретным station
Список телефонов - пока хотя бы просто все зарегистрированные телефоны на станции. В дальнейшем у меня будет список номеров, которые надо мониторить.
Re: Получение статуса телефона
Это вам тогда надо System Management Services пользовать. Но я бы советовал держать этот список статично (локально)gpi65 писал(а):Вот. Этого я не знал.gosha писал(а):А список каких телефонов вы хотите получить? Я до сего момента считал, что DMCC - он для работы с конкретным station
Список телефонов - пока хотя бы просто все зарегистрированные телефоны на станции. В дальнейшем у меня будет список номеров, которые надо мониторить.
Re: Получение статуса телефона
Локальный список номеров у меня будет.
Вот только я никак не могу врубиться, как можно подключиться к определенному телефону, чтобы узнать его статус. Что, кроме номера, надо знать? И какие методы использовать для подключения?
Правильно ли я понял, что для мониторинга телефонов в цикле достаточно DMCC? Или надо влезать в JTAPI?
Вот только я никак не могу врубиться, как можно подключиться к определенному телефону, чтобы узнать его статус. Что, кроме номера, надо знать? И какие методы использовать для подключения?
Правильно ли я понял, что для мониторинга телефонов в цикле достаточно DMCC? Или надо влезать в JTAPI?
Re: Получение статуса телефона
Мониторинг - JTAPI. Конкретика с аппаратом - DMCC.
Re: Получение статуса телефона
Хорошо.
Какой должна быть последовательность моих действий?
Допустим, у меня есть телефон с номером 1111. Мне также известен его IP адрес, например 10.10.10.10.
Сначала я создаю провайдера
Потом получаю DeviceID
Насколько я понимаю, все, что я получил, относится к АТС. Или я не прав?
А как подключиться к телефону?
Какой должна быть последовательность моих действий?
Допустим, у меня есть телефон с номером 1111. Мне также известен его IP адрес, например 10.10.10.10.
Сначала я создаю провайдера
Код: Выделить всё
provider = ServiceProvider.getServiceProvider(properties); // в пропертях прописаны и ип адрес, и номер (extension)
devServ = (DeviceServices) provider.getService(com.avaya.csta.device.DeviceServices.class.getName());
Код: Выделить всё
GetDeviceId devRequest = new GetDeviceId();
devRequest.setSwitchIPInterface(callServerAddress);
devRequest.setExtension(extension);
GetDeviceIdResponse response = null;
DeviceID deviceID = null;
response = devServ.getDeviceID(devRequest);
if(response != null)
deviceID = response.getDevice();
А как подключиться к телефону?
Re: Получение статуса телефона
Вы общаетесь не напрямую с телефоном, а с AES-сервером...
Re: Получение статуса телефона
да, со станцией через AES. Но ведь я же могу на станции увидеть телефон?
Re: Получение статуса телефона
Какой? И с какой целью?gpi65 писал(а):да, со станцией через AES. Но ведь я же могу на станции увидеть телефон?
Re: Получение статуса телефона
IP телефон Avaya, стоящий у меня на столе. Или на соседнем столе. Или вообще любой, включенный в данную станцию. Но для простоты примем, что это мой телефон, мне известен его номер и его IP. Какая еще требуется информация? Моей программе надо убедиться, что телефон готов к приему звонка. И направить на него этот самый звонок, но это уже следующий шаг.
Re: Получение статуса телефона
Ну, вот это уже что-то. Неправильная постановка задачи нарисовалась.
1. Не мешайте станции маршрутизировать вызовы. Поверьте, станция это умеет делать лучше вас.
2. Что значит "телефон готов к приему звонка"? Мы говорим о аппарате оператора ЦОВ или как?
1. Не мешайте станции маршрутизировать вызовы. Поверьте, станция это умеет делать лучше вас.
2. Что значит "телефон готов к приему звонка"? Мы говорим о аппарате оператора ЦОВ или как?
Re: Получение статуса телефона
В таком случае уточню задачу.
Есть Cool-центр, в нем за компьютерами, в которых программа имитирует телефон (Softphone) сидит много операторов.
Поступает входящий звонок. Задача приложения - перехватить звонок, определить номер, с которого звонят, вытащить из БД информацию о звонящем (если она там найдется по его номеру), выбрать свободного оператора, соединить с ним звонящего и передать информацию о звонящем
Есть Cool-центр, в нем за компьютерами, в которых программа имитирует телефон (Softphone) сидит много операторов.
Поступает входящий звонок. Задача приложения - перехватить звонок, определить номер, с которого звонят, вытащить из БД информацию о звонящем (если она там найдется по его номеру), выбрать свободного оператора, соединить с ним звонящего и передать информацию о звонящем
Re: Получение статуса телефона
Вы в очередной раз изобретаете велосипед, все уже давным давно сделано. One-X Agent умеет по приходу вызова вызывать внешнее приложение и в качестве параметра командной строки передавать номер вызывающего абонента. За Cool-центр отдельное спасибо.
Re: Получение статуса телефона
Изобретаю не я, таково пожелание заказчика. Возможно, упомянутый вами One-X Agent платный, и заказчик хочет сэкономить?
Поэтому и прошу помощи
Поэтому и прошу помощи
Re: Получение статуса телефона
Ну тогда рассказывайте, что реализовано у заказчика. CC Elite есть и работает?gpi65 писал(а):Изобретаю не я, таково пожелание заказчика. Возможно, упомянутый вами One-X Agent платный, и заказчик хочет сэкономить?
Поэтому и прошу помощи
Re: Получение статуса телефона
Есть AES сервер версии 6.3.3, у меня установлен TSAPI клиент.
Еще у меня есть DMCC и JTAPI
Есть адрес callserver, есть extension (насколько я понял, мне это дано для примера, когда я звоню на свой телефон из Softphone, то extension показывается как номер вызывающего), есть логин/пароль, есть cmapi1.server_ip и cmapi1.server_port.
Буду очень признателен, если поможете разобраться, куда приспособить эту информацию для решения моей задачи.
Насколько я понял, CC Elite - это как раз Avaya call-center. Его нет, в настоящее время операторы сидят за телефонами. На всякий случай сейчас уточню.
Интерфейс для оператора реализуем мы. Моя же задача - серверная часть, взаимодействие между АТС и БД
Еще у меня есть DMCC и JTAPI
Есть адрес callserver, есть extension (насколько я понял, мне это дано для примера, когда я звоню на свой телефон из Softphone, то extension показывается как номер вызывающего), есть логин/пароль, есть cmapi1.server_ip и cmapi1.server_port.
Буду очень признателен, если поможете разобраться, куда приспособить эту информацию для решения моей задачи.
Насколько я понял, CC Elite - это как раз Avaya call-center. Его нет, в настоящее время операторы сидят за телефонами. На всякий случай сейчас уточню.
Интерфейс для оператора реализуем мы. Моя же задача - серверная часть, взаимодействие между АТС и БД
Re: Получение статуса телефона
Для начала покажите первую страницу disp sys cust со станции
Re: Получение статуса телефона
запросил страницу у компании-аутсорсера, обслуживающей станцию. Думаю, что ответят только завтра.
Re: Получение статуса телефона
Это что ж за аутсорсеры, которые таких вещей не знают?
Re: Получение статуса телефона
Они знают, но хотят денег за ответы на вопросы
Re: Получение статуса телефона
А вы думаете, что все на халяву?! Или вы просто не хотите читать документацию?gpi65 писал(а):Они знают, но хотят денег за ответы на вопросы
Re: Получение статуса телефона
А без первой страницы станции можно как-то обойтись?
Re: Получение статуса телефона
Ну как минимум вам надо знать extension и security code той station, к которой хотите прицепиться. Потом делаете в своей программе dependant registration. Это только то, что касается DMCC. Но без доступа к станции для траблшутинга вам точно не обойтись, либо процесс девелопмента растянется на годы...gpi65 писал(а):А без первой страницы станции можно как-то обойтись?
Re: Получение статуса телефона
И еще: эти аутсорсеры хоть открыли Insecure DMCC port на AES?
Re: Получение статуса телефона
# The SwitchName (from OAM Switch Connections web page) of the call server,
# or the Gatekeeper IP address (e.g. CLAN/PE), that the AE Server should
# use to register the device (extension) to Avaya Communication Manager.
callserver=
extension=
password=
...
# IP address of the Application Enablement Server
cmapi1.server_ip=
# Credentials for connecting to the AE Server
cmapi1.username=
cmapi1.password=
# AE Server client connection port: 4721(non-SSL) or 4722(SSL)
cmapi1.server_port=4721
# Legal values for cmapi1.secure are true (for port 4722) and false (for port 4721).
cmapi1.secure=false
Это фрагмент properties файла, то, что я заполнял сам, получив информацию от аутсорсера. Как вы понимаете, здесь я просто удалил данные, на самом деле
callserver, extension, password, cmapi1.server_ip, cmapi1.username, cmapi1.password у меня заполнены. Этого достаточно для начала, или надо запросить еще что-то?
# or the Gatekeeper IP address (e.g. CLAN/PE), that the AE Server should
# use to register the device (extension) to Avaya Communication Manager.
callserver=
extension=
password=
...
# IP address of the Application Enablement Server
cmapi1.server_ip=
# Credentials for connecting to the AE Server
cmapi1.username=
cmapi1.password=
# AE Server client connection port: 4721(non-SSL) or 4722(SSL)
cmapi1.server_port=4721
# Legal values for cmapi1.secure are true (for port 4722) and false (for port 4721).
cmapi1.secure=false
Это фрагмент properties файла, то, что я заполнял сам, получив информацию от аутсорсера. Как вы понимаете, здесь я просто удалил данные, на самом деле
callserver, extension, password, cmapi1.server_ip, cmapi1.username, cmapi1.password у меня заполнены. Этого достаточно для начала, или надо запросить еще что-то?
Re: Получение статуса телефона
Для настроек DMCC - достаточно. Для регистрации надо еще extension и его security code
Re: Получение статуса телефона
так ведь есть же extension. Или нужен еще какой-то другой?
А security code - это не password?
А security code - это не password?
Re: Получение статуса телефона
Все правильно, именно так. А вот дальше я бы смотрел на трассировку регистрации абонента на станции, но вам это, судя по всему, недоступно, что создает вам очень большие проблемы...gpi65 писал(а):так ведь есть же extension. Или нужен еще какой-то другой?
А security code - это не password?
Re: Получение статуса телефона
Я запустил программу из примера, идущего с SDK. В консоль пришло много информации об изменении состояния ламп и о кнопках.
На своем телефоне набрал номер, который у меня указан как extension. В консоли появилась информация об изменении состояния лампы 263, и отобразилась информация о вызывающем, т.е. обо мне, в том числе и мой номер. Это как раз то, что мне нужно.
Но номер, который extension - это, насколько я понимаю, виртуальный телефон, который я могу увидеть, например, запустив приложение Softphone из тех же примеров.
Если же я указываю в качестве extension свой номер телефона, а в качестве callserver - ip своего телефона, пароль тот же, то получаю ошибку:
Registration failed for extension <тут мой номер>
Какие настройки нужны для подключения к реальному телефону?
На своем телефоне набрал номер, который у меня указан как extension. В консоли появилась информация об изменении состояния лампы 263, и отобразилась информация о вызывающем, т.е. обо мне, в том числе и мой номер. Это как раз то, что мне нужно.
Но номер, который extension - это, насколько я понимаю, виртуальный телефон, который я могу увидеть, например, запустив приложение Softphone из тех же примеров.
Если же я указываю в качестве extension свой номер телефона, а в качестве callserver - ip своего телефона, пароль тот же, то получаю ошибку:
Registration failed for extension <тут мой номер>
Какие настройки нужны для подключения к реальному телефону?
Re: Получение статуса телефона
Посмотрел настройки в телефоне. Там callserver тот же, что и у тестового extension.
Изменил properties, extension - мой номер, остальное все как было.
Ошибка:
Registration failed for extension <мой номер> : reason Registration Reject reason: securityDenial Login Denied - Access Code invalid. diagnostic string= code= 63773
Получается что, для каждого номера свой пароль?
Или я что-то не так понимаю?
Изменил properties, extension - мой номер, остальное все как было.
Ошибка:
Registration failed for extension <мой номер> : reason Registration Reject reason: securityDenial Login Denied - Access Code invalid. diagnostic string= code= 63773
Получается что, для каждого номера свой пароль?
Или я что-то не так понимаю?
Re: Получение статуса телефона
В теории - да, каждый номер (station extension) может иметь свой пароль (security code). Собственно, подобные косяки list trace ras и показываетgpi65 писал(а):Посмотрел настройки в телефоне. Там callserver тот же, что и у тестового extension.
Изменил properties, extension - мой номер, остальное все как было.
Ошибка:
Registration failed for extension <мой номер> : reason Registration Reject reason: securityDenial Login Denied - Access Code invalid. diagnostic string= code= 63773
Получается что, для каждого номера свой пароль?
Или я что-то не так понимаю?
Re: Получение статуса телефона
Отличается ли по настройкам ( а может быть и не только по настройкам) подключение к обычному номеру, и к многоканальному?
Подключение с целью увидеть номер, с которого поступил входящий вызов.
Подключение с целью увидеть номер, с которого поступил входящий вызов.
Re: Получение статуса телефона
Пофигу. Вы регистрируетесь параллельным подключением и все.gpi65 писал(а):Отличается ли по настройкам ( а может быть и не только по настройкам) подключение к обычному номеру, и к многоканальному?
Подключение с целью увидеть номер, с которого поступил входящий вызов.
Re: Получение статуса телефона
Спасибо за помощь!
Вроде я сдвинулся с мертвой точки, немного стал понимать терминологию.
Надеюсь, что дальше, с документацией и примерами из SDK, буду двигаться вперед.
Если будут неясности, тогда наверное заведу новую ветку в форуме.
Вроде я сдвинулся с мертвой точки, немного стал понимать терминологию.
Надеюсь, что дальше, с документацией и примерами из SDK, буду двигаться вперед.
Если будут неясности, тогда наверное заведу новую ветку в форуме.