基于Mobicents的conference demo实例的搭建

基于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:[email protected]: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:[email protected]”并点击” 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实例的搭建)