视频通话(中心)
我们正在开始开发一个新的应用程序,我正在寻找有关应用程序架构的信息/提示/指南。
应用程序应该:
- 从外部(USB)设备读取数据
- 将数据发送到远程服务器(通过互联网)
- 从远程服务器接收数据
- 与呼叫(支持)中心
- 进行视频呼叫 接收来自远程服务器的视频呼叫呼叫(支持)中心
支持触摸屏
- 通过网页可见。
所以我在想: 在服务器端:
- 使用数据库(可能是 MS SQL)
- 使用 ORM (nHibernate) 将数据从 DB 映射到域对象 使用
- C# 创建具有业务逻辑的层
- 创建 Web (WCF) 服务(用于客户端应用程序)
- 创建一个 asp.net mvc 应用程序(针对第 7 项),通过浏览器启用数据视图
在客户端,我将使用 WPF 4 应用程序,它将与外部设备和服务器上的 wcf 服务进行通信。
到目前为止,一切都很好。现在问题开始了。我不知道如何创建应用程序的视频通话(呼出或呼入)部分。 我相信用WPF/C#与麦克风、扬声器、摄像头通信是没有问题的。但如何与呼叫中心沟通呢?应该使用什么协议和编码?
我认为我需要创建某种类型的服务器,该服务器将:
- 在呼叫中心拥有一个操作员列表,并跟踪哪个操作员被占用以及哪个操作员空闲
- 有一个已连接的最终用户列表,
- 接收来自最终用户的来电并委托呼叫
- 从呼叫中心到最终用户的免费操作员委托呼叫
任何信息、链接、任何有关从哪里开始的信息将不胜感激。
非常感谢!
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!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
听起来您从事的是支持业务,而不是视频会议软件业务。也许可以考虑授权第 3 方 SDK 来填充应用程序的视频会议组件。最终让您的应用程序上线应该比重新发明轮子要快得多。我快速搜索“视频会议 SDK”。立刻就冒出了几个。我从未使用过任何东西,所以我不打算开始推荐任何东西,但我认为这是一个很好的起点。
It sounds like you are in the support business, not in the making of video conferencing software business. Maybe look at licensing 3rd party SDK's to fill in the video conferencing component of the application. It should end up being a lot faster to get your application live than reinventing the wheel. I googled quickly for "Video conferencing SDK". Several popped up immediately. I haven't ever used any so I am not about to start recommending any but I would think that is a good place to start.
我建议使用现有服务(Skype、Google Chat...)并通过 WPF 应用程序为操作员和客户端进行控制。
I suggest using an existing service (Skype, Google Chat, ...) and control if from your WPF application(s) for the operator and client.
将 SIP 解决方案与视频编解码器结合使用。开放标准之一有很多 SIP SDK。
Use a SIP solution with a video codec. Open standard one there are many SIP SDK's out there.