Откройте веб-страницу, когда я получаю входящий звонок

Если вопрос заключается в том, как получить данные в файл и из него, я просто хотел выкинуть ключевое слово «сериализация», если вы не знакомы с ним. Google это, есть тонны учебников. В двух словах, Java имеет встроенную поддержку для записи объектов и чтения объектов из двоичных потоковых потоков, которые вы, конечно, можете писать в / читать из файлов. Таким образом, вам не придется реализовывать код для хранения и чтения ваших разных участников. Просто укажите объекты в коде, которые содержат состояние программы и сериализуют их. Вы также можете сериализовать XML, создав созданные вручную файлы.

1
задан rjmunro 13 August 2010 в 16:45
поделиться

2 ответа

NCID (Network Caller ID) - это проект Sourceforge, который кажется мне подходящим, но он зависит от сервера linux и, похоже, поддерживает определение номера звонящего только с модема, подключенного к последовательному порту, или путем обнюхивания SIP-пакетов, проходящих через интерфейс Ethernet сервера. Она не поддерживает никакие АТС с TAPI или аналогичными системами, поскольку работает только в Linux.

Клиентское приложение, которое подключается к серверу NCIDpop, делает именно то, что я хочу - оно может принимать строку URL для поиска номера и открывать веб-страницу при нажатии на нее.

Это не совсем ответ для меня, но может быть полезно для других, ищущих этот вопрос.

0
ответ дан 2 September 2019 в 22:11
поделиться

Это во многом зависит от используемой УАТС - я работал с серверами Avaya и CallMedia. Обе эти компании предоставили небольшой настольный клиент и библиотеку DLL, на которую можно ссылаться из кода.

Самая большая проблема - сообщить веб-странице, когда приложение в области уведомлений получает событие. Запуск браузера может быть медленным и не очень удобен для обработки вызовов. Лучше держать браузер открытым и получать события.

Компания, в которой я работал, использовала довольно устаревшие технологии, поэтому у них были:

PBX - (XML) - PBX System Tray Client - (COM ) - Наше собственное настольное приложение - (COM) - ActiveXControl, встроенный в страницу - (Javascript) - Фреймворк веб-сайта, который соответствующим образом обработал событие

Как видите, оно было довольно длинным и запутанным - Более элегантный подход заключался бы в том, чтобы на странице было встроено приложение silverlight / аналогичное, которое получает события от клиента в системном трее (через веб-службу или подобное?)

Вам также необходимо решить вопрос: а) открываются несколько страниц. - Все ли понимают события? и б) замена PBX на более поздний срок не требует полной перезаписи.

Когда я ушел из этой компании, мы реализовали механизм, при котором наше приложение получало сообщения от УАТС напрямую через XML. Silverlight контролирует любые / все веб-страницы, зарегистрированные в нашем настольном приложении через двусторонний WCF.Затем наше настольное приложение отправляет соответствующие события на соответствующую страницу.

Еще кое-что, что следует учесть: собираетесь ли вы работать со смешанным каналом? т.е. может ли обработка электронной почты заблокировать событие входящего звонка? В таком случае вам потребуется какое-то двустороннее соединение, чтобы сказать «Отклонение вызова ...». Вы также должны быть осторожны с тем, в каком состоянии находится телсет агентов - если вы перейдете в состояние «доступность» до того, как закончите сохранение данных, вы потенциально можете просмотреть все, прежде чем записывать все. Кроме того, по моему опыту, агенты действительно счастливы нажимать кнопки на telset, а не в вашем приложении, поэтому вам нужно обрабатывать неожиданные изменения статуса.

Также рассмотрите возможность переадресации вызовов - большинство современных УАТС позволяют осуществлять переадресацию вызова таким образом, чтобы идентификатор был связан с вызовом - поэтому, если это внутренняя передача, на экране получателя могут отображаться все заметки о вызовах и т. Д.

Я могу предоставить дополнительную информацию, если вы можете уточнить, что такое АТС и т. Д.вы используете и какие события вам нужно обрабатывать.

События, которые я бы рекомендовал вам обрабатывать как минимум: Звонок звонка, Звонок ответил, Звонок прерван, Колл переведен

, и вы сможете сделать рейз: Принять вызов, Сделать звонок, Отказаться от звонка, Вызов передачи (горячая и холодная передача, необязательно с данными, если она внутренняя)

Конечно, это может быть излишним для вашего решения :)

Изменить: Я забыл добавить, что наше решение также обрабатывает регистрацию агентов в / off telset, когда они вошли в веб-приложение. Это дало действительно приятный пользовательский интерфейс, но потребовало обработки всех переменных входа / выхода, а также поддержки таблицы поиска user-> extension #

2
ответ дан 2 September 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: