我使用了vs2008编译器,下载的最新版本ReSIProcate 1.51,在windows 7下编译
编译
Build->Configuration Manager钩掉basicCall,basicMessage,basicRegister,还有resip_test,接着Build Solution.
我用vs2008编译,有一处错误,AresDns Line 158,WarningLog之间使用条件编译不认识#字符
由
改为
注意:在Linux下编译,需要预先安装些外部库,在Ubuntu下运行参考文章中的命令:
sudo aptitude update; sudo aptitude install subversion g++ gperf libssl-dev libpopt-dev libpcre3-dev libdb4.2++-dev libboost-dev
安装运行resiprocate的proxy
运行 /repro/WinSetup/Debug/Setup.msi,默认安装到文件夹C:/Program Files/ReSiprocate
vs 2008 的repro project 属性修改:
Debugging Command 定位到repro可执行文件安装路径,默认设置为C:/Program Files/ReSiprocate/repro.exe
Build Events->Post-Build Event->Command Line设置为copy "$(TargetPath)" "C:/Program Files/ReproSIPProxy"
至此编译resiprocate,copy至安装文件夹,即可运行repro了
运行repro,在浏览器中输入http://localhost:5080,点击login并输入用户名admin和密码admin登录。
配置resiprocate的proxy
这里仅仅谈谈windows下的配置
两种方式:一、配置文件,二、命令行参数
配置文件方式需要代码做些稍许变动,这里仅仅谈谈比较原装的命令行参数,主要是那些影响proxy运行的关键参数。
先谈谈命令行参数几种比较简单的实现方式
一、vs2008中repro项目属性,参数填写在Debugging->command Arguments
二、新建快捷方式,在Targets一栏中的可执行文件后面空一格在"-"之后填写参数
三、新建cmd文件,同二可执行文件后面空一个在"-"之后填写参数
具体参数解析可参考CommandLineParser类中,采用了popt外部库解析命令行参数
[-parameter value] [-parameter value] ...
parameter为table每行第二个参数,而value参考每行最后一个参数,参数解释参考每行倒数第二个参数
如果某值第二个参数为0的话,需要直接在代码中设置值了
比如要设置log-type为vsdebugwindow,log-level为STACK的话,命令行参数就是
-l vsdebugwindow -v STACK
注意:ReSIProcate1.5版本,代码需要稍作修改才可以支持vsdebugwindow
一些参数的简单介绍
disable-auth 设置为true的话,电话注册可无需验证
record-route 设置的话,会话建立之后的sip信令依然从proxy走,当然要强制启用的话,得设置forceRecordRoute为true
测试resiprocate的proxy
如果手边比较方便的话,可以直接使用网关连接两个电话分机,或者用软电话,注册到proxy上,互相拨打。
也可以依照参考文章中的测试方法使用ReSIProcate自带的测试程序进行测试。
参考文章
http://www.resiprocate.org/Quick_Subversion_Checkout_and_Compilation_HOWTO#Unix_Systems_.28Including_OS_X.29
简单写了个纲要,还没有具体的测试