Мы начинаем разработку нового приложения, и я ищу информацию / советы / руководства по архитектуре приложения.
Заявка должна:
- чтение данных с внешнего (USB) устройства
- отправка данных на удаленный сервер (через интернет)
- получить данные с удаленного сервера
- выполнить видеозвонок в вызывающий (поддерживающий) центр
- принять видеозвонок из телефонного центра поддержки (1014)
поддержка сенсорных экранов
Кроме того: некоторые данные также должны быть видны через веб-страницу.
Так что я думал о:
На стороне сервера:
- использовать базу данных (возможно, MS SQL)
- использовать ORM (nHibernate) для сопоставления данных из БД с объектами домена
- создать слой с бизнес-логикой в C #
- создание веб (WCF) сервисов (для клиентских приложений)
- создать приложение asp.net mvc (для элемента 7.), чтобы включить просмотр данных через браузер
На стороне клиента я бы использовал приложение WPF 4, которое будет взаимодействовать с внешним устройством и службами wcf на сервере.
Пока все хорошо. Теперь проблема начинается. Я понятия не имею, как создать видеозвонок (исходящий или входящий) часть приложения.
Я считаю, что нет проблем с общением с микрофоном, динамиком, камерой с WPF / C #. Но как связаться с колл-центром? Какой протокол и кодировку следует использовать?
Я думаю, что мне нужно будет создать какой-нибудь сервер, который будет:
- иметь список операторов в колл-центре и отслеживать, какой оператор занят и какой оператор свободен
- есть список подключенных конечных пользователей
- принимать входящие звонки от конечных пользователей и делегировать вызов бесплатному оператору
- делегировать вызовы из телефонного центра конечному пользователю
Любая информация, ссылки, что-нибудь о том, с чего начать, будут очень благодарны.
Большое спасибо!