博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ReSIProcate之编译、安装、配置、运行、测试proxy
阅读量:4121 次
发布时间:2019-05-25

本文共 10384 字,大约阅读时间需要 34 分钟。

我使用了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

 

 

简单写了个纲要,还没有具体的测试

 

转载地址:http://yzppi.baihongyu.com/

你可能感兴趣的文章
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>
手绘VS码绘(二):动态图绘制(码绘使用Processing)
查看>>
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day12 集合
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>
Day_15JavaSE 异常
查看>>
异常 Java学习Day_15
查看>>
JavaSE_day_03 方法
查看>>