基于Web浏览器的实时通信系统(WebRTC)

来源:互联网 发布:Java返回值是特殊类型 编辑:程序博客网 时间:2024/05/18 19:19
WebRTC系统计划开发时间为2个月(2012年9月至10月),
除去十一假期,共6周的时间供我们开发和测试系统,所以有效的时间安排就显得十分的重要。
详细文档可见redmine“WebRTC系统”的“文件”列表。


第1周(9月10日至9月14日)
1. Google WebRTC Demo的安装和测试,阅读Web应用和服务器的源码,连接工作原理及API的基本用法。
2. WebRTC API封装成库(Library),
   要求按照规范对API进行命名( http://dev.w3.org/2011/webrtc/editor/webrtc.html ),
   并提供检测浏览器是否支持WebRTC API的功能。
3. 设计基于JSON格式的私有通信协议“RTC_P (Real-Time Communications Protocol)”,
   建议参考XMPP扩展——Jingle协议( http://xmpp.org/extensions/xep-0166.html )相关字段。
4. 封装私有协议“RTC_P”协议栈,要求接口尽可能的清晰明了,方便实现与其他协议栈之间的替换。


第2周(9月17日至9月21日)
1. 搭建MySQL数据库;
2. 搭建Git或SVN代码管理系统;
3. 搭建Openfire + SparkWeb环境(可请教夏千林),最新版的Openfire已经支持XMPP over WebSocket;
4. 学习Openfire数据库和数据表,重点在于Openfire存储用户信息的方式(用户信息、好友列表、呈现和即时消息),建议生成一份文档或更新redmine/wiki进行介绍;
5. 设计WebRTC数据库,在Openfire原有数据库的基础上,添加通讯录和实时通信记录(会话记录等)的支持;
6. 设计通讯录业务的实现方式。
7. 开始部分服务器端开发工作(建议)。


第3周(9月24日至9月28日)
1. 学习SIP协议及开源SIP协议栈(建议,可请教夏千林);
2. 搭建Node.js环境;
3. 选择和测试Node.js上的WebSocket库;
4. 学习MCF相关基础知识(可请教张鹏);
5. 根据WebRTC服务器模块图及相关流程(将会在redmine的“文档”栏目中给出),开始编写服务器端代码;
6. 开始编写WebRTC Web应用前端代码(使用封装的WebRTC API库和RTC_P协议栈),
   仅需要实现简单的多媒体通信即可。


第4周(10月8日至10月12日)
十一假期后的第一周。
1. 向VoIP Dice项目组学习互通网关及其相关知识;
2. 继续开发WebRTC客户端(Web应用)和服务器;
3. 开始编写WebRTC网关代码,要求必须基于实验室MCF框架及开源SIP协议栈(可请教夏千林);
4. 开始研究SparkWeb源代码。


第5周(10月15日至10月19日)
1. 完成WebRTC服务器和客户端(Web应用)的原型系统,并开始进行简单的通话测试;
2. 继续开发WebRTC网关;
3. 继续研究SparkWeb源代码;
4. 搭建Open IMS Core网络,用于测试与IMS网络的互通;
5. 尝试整合SparkWeb与WebRTC客户端,暂不要求界面,仅要求实现功能。


第6周(10月22日至10月26日)
1. WebRTC系统第一期的最后一周。
2. 完全整合SparkWeb与WebRTC客户端;
3. 整合WebRTC系统与WebRTC网关;
4. 完成WebRTC系统基本功能测试;
5. 完成WebRTC系统与其他VoIP系统(IMS)的互联互通;
6. 总结测试和开发过程中遇到的问题,迭代修改。


原文链接:
http://redmine.free4lab.com/news/8
0 0