video calling (center)
- by rrejc
We are starting to develop a new application and I'm searching for information/tips/guides on application architecture.
Application should:
read the data from an external (USB) device
send the data to the remote server (through internet)
receive the data from the remote server
perform a video call with to the calling (support) center
receive a video call call from the calling (support) center
support touch screens
In addition: some of the data should also be visible through the web page.
So I was thinking about:
On the server side:
use the database (probably MS SQL)
use ORM (nHibernate) to map the data from the DB to the domain objects
create a layer with business logic in C#
create a web (WCF) services (for client application)
create an asp.net mvc application (for item 7.) to enable data view through the browser
On the client side I would use WPF 4 application which will communicate with external device and the wcf services on the server.
So far so good. Now the problem begins. I have no idea how to create a video call (outgoing or incoming) part of the application.
I believe that there is no problem to communicate with microphone, speaker, camera with WPF/C#. But how to communicate with the call center? What protocol and encoding should be used?
I think that I will need to create some kind of server which will:
have a list of operators in the calling center and track which operator is occupied and which operator is free
have a list of connected end users
receive incoming calls from end users and delegate call to free operator
delegate calls from calling center to the end user
Any info, link, anything on where to start would be much appreciated.
Many thanks!