基于Mobicents的conference demo实例的搭建
来源:互联网 发布:知天命代指多少岁 编辑:程序博客网 时间:2024/05/20 09:44
基于Mobicents的conference demo实例的搭建
作者:Hu Dennis 日期:2012年6月7日
摘要:本文介绍了基于Mobicents的conference demo实例的搭建及测试过程,成功实现多客户端同时拨入电话会议和服务器主动邀请客户端加入电话会议的功能。
硬件环境准备:三台相互连通的普通PC电脑,一台作为服务器,另外两台分别作为客户端,客户端电脑需具备扬声器(或者耳机)和麦克风。
软件环境准备:本次测试全部在Windows环境下实现。
第一步:服务器端软件准备
本实例搭建以SIPServlet 1.7.0和MediaServer2.0.0为例。SIPServlet1.7.0版本的下载地址为http://sourceforge.net/projects/mobicents/files/Mobicents%20Sip%20Servlets/Mobicents%20Sip%20Servlets%201.7.0.FINAL/,选择mss-1.7.0.FINAL-jboss-jdk6-5.1.0.GA-1204061650-full.zip版本,大约168.3M。
Media Server下载地址为http://sourceforge.net/projects/mobicents/files/Mobicents%20Media%20Server/2.0.0.GA/,选择mms-standalone-2.0.0.GA.zip,大约39.9M。
第二步:客户端1软件准备
这里采用SJPhone这个SIP客户端,其他的如Ekiga或者开源的peers也可以。请从http://www.sjlabs.com/sjp.html下载windows版本,然后安装完成并启动。
点击Menu->Options在弹出的对话框中选择Profiles选项卡,点击new打开”CreateNew Profile”的窗口。在ProfileName中填入Dennis,其他默认即可。然后在返回的ProfileOptions中选中SIPProxy选项卡中的Domain/Realm中填入10.50.24.61:5080.再打开SIPRegistration选项卡,去掉”Unregisteronly registered contact”并选中”Useseparate Registrar”,并在Registrar(URI)中填入sip:10.50.24.61:5080,然后点击OK。最后在弹出的”Service:Terry”中输入Account:Dennis,Password:123456。然后点击OK,系统会自动进行注册。
特别注意:这里的账户可以随意填写,不需要事先在服务器端进行配置。
第三步:客户端2软件准备
这一步跟第二步基本一样,只是在配置的时候用户名不同即可,这里假定以Terry为例,将第二步中的Dennis全部换成Terry创建配置即可。
第四步:准备conference demo的war包
下载地址https://repository.jboss.org/nexus/content/groups/public/org/mobicents/servlet/sip/examples/conference-demo-jsr309/2.0.0.ALPHA2/conference-demo-jsr309-2.0.0.ALPHA2.war。
第五步:启动服务器
先启动媒体服务器,从windows的cmd窗口进入mms-standalone-2.0.0.GA的bin目录,通过”run.bat -b 192.168.0.106”启动。其中192.168.0.106为服务器的IP地址。
再启动SIPServlet服务器,从windows的cmd窗口进入mss-1.7.0.FINAL-jboss-jdk6-5.1.0.GA的bin目录,通过” run.bat-b 192.168.0.106” 启动。其中192.168.0.106为服务器的IP地址。
第六步:部署和配置conference demo实例
将准备好的conference-demo-jsr309-2.0.0.ALPHA2.war包拷贝至SIPServlet的server\default\deploy目录下。然后从浏览器地址http://192.168.0.106:8080/sip-servlets-management/进入Servlet的管理界面。点击”INVITE”下方的”Addapplication”按钮添加一个应用,在”ApplicationName”中选择刚刚加入的”Conference”,然后点击”INVITE”上方的”Save”按钮保存配置修改。此时应该在日志里看到配置被保存了的日志记录。
备注:添加应用这个配置也可以直接通过配置文件来实现,可参见文章末尾的参考资料。在上面添加的过程中,在Option里的” Routingregion”中是否将默认的”TERMINATING”改为”ORIGINATING”似乎对demo运行没有特别的影响。
第七步:测试电话会议conference demo
进入http://192.168.0.106:8080/conference-demo-jsr309-2.0.0.ALPHA2/页面测试conferencedemo。这里默认有”Playfile”和”DialSip Phone”两个按钮,分别用来播放会议公告和邀请客户端加入会议。
(1) 客户端1主动加入会议:在客户端1的SJPhone界面的”Menu”上方的编辑框里输入会议地址” sip:sip-servlets-conference@192.168.0.106:5080”,然后点击”Menu”右侧的电话图标的蓝色按钮申请加入会议。如果加入成功,在服务器的会议界面上会看到该客户端已经加入,并且在它的地址后面有两个按钮”kick”和”mute”,可以用来分别将该客户端踢出和静音。
(2) 播放会议公告:在”Play file”前的编辑框中输入”http://mobicents.googlecode.com/svn/branches/servers/media/1.x.y/examples/mms-demo/web/src/main/webapp/audio/cnfannouncement.wav”并点击”Playfile”。这是这个demo自带的一段语音会议公告。如果前面配置正确,客户端1应该能够听到这段会议公告。
(3) 会议侧邀请客户端2被动加入会议:在”Dial Sip Phone”前的编辑框中输入”sip:Terry@192.168.0.102”并点击” Dial Sip Phone”,客户端2会接到电话,点击应答即可加入会议。
(4) 客户端1和客户端2通话:此时客户端1和客户端2即可以电话会议的方式进行通话。
说明:本实例的成功实属不易,经过多人数日才成功测试。从目前来看应该主要是版本之间的不兼容造成的,因为这里涉及到三个不同的组件,即媒体服务器,SIP服务器和ConferenceDemo的war包。因为目前对mobicents的理解还很肤浅,无法做进一步的分析。文中未附上任何图,主要是图容易丢失最后反而可能导致文章难懂,请谅解。
参考资料:
1. http://www.mobicents.org/
2. http://www.mobicents.org/conference-demo-jsr309.html
- 基于Mobicents的conference demo实例的搭建
- 基于Mobicents的conference demo实例的搭建
- Mobicents SIP Servlets的Click2Call实例实践
- Mobicents开发实例
- 实例:Netty 基于Http协议下的数据传输Demo
- 实例:Netty 基于Http协议下的数据传输Demo
- 基于 xNet 通信框架搭建的简易分布式系统 Demo ~~
- iScroll的Demo实例
- ELK 的搭建demo
- 开源的 JAIN-SLEE SIP 软交换 -- Mobicents
- 开源的 JAIN-SLEE SIP 软交换 -- Mobicents
- 基于VC6.0+WDK的环境搭建及简单实例
- Oracle 12c 基于ASM 的单实例 搭建手册
- Appium+XCUITest基于Python的操作实例以及环境搭建
- 基于GLUT的CEGUI DEMO
- 基于servlet的 Freemarker Demo
- 基于dubbo:protocol的demo
- 基于ssh2的小demo
- 深度学习word2vec笔记之算法篇
- JS/jQuery杂记
- 免费VPN 上 YouTube
- OCP-1Z0-051 补充题库 第2题 添加外键FOREIGN KEY
- 无锡移动4G覆盖面积超700平方公里 新资费下月启动
- 基于Mobicents的conference demo实例的搭建
- 安装与开启SSH服务
- Windows 64位系统安装Apache2.4
- 怎样设置Myeclipse的jsp页面为默认utf-8编码
- 【产品体验】职业社交产品“脉脉”体验
- How to GROUD?
- ServletContext总结
- iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
- 写一个对clob按分隔符分割的函数