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

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

Я думаю, что самый простой способ сделать это - это иметьнебольшое приложение, которое сидело в системном трее и ожидало звонка, используя TAPI или TSAPI.При поступлении вызова он открывает веб-страницу по настроенному URL-адресу, передавая идентификатор вызывающего абонента в качестве параметра.

Существует ли где-нибудь такое приложение?

Ps Кто-нибудь знает, что случилось с Простой протокол компьютерной телефонии

Ответы [ 2 ]

2 голосов
/ 13 августа 2010

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

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

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

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

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

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

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

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

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

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

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

, и вы должны иметь возможностьподнять: Принять вызов, Разместить вызов, Отменить вызов, Переводить вызов (Горячий и Холодный переводы, опционально с данными, если они внутренние)

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

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

0 голосов
/ 13 августа 2010

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

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

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

...