resiprocate使用入门:内网搭建基于repro的sipproxy测试环境

resiprocate使用入门:内网搭建基于repro的sipproxy测试环境,第1张

resiprocate使用入门:内网搭建基于repro的sipproxy测试环境 测试环境

sipproxy:repro + centos 
客户端:windows电脑客户端使用X-Lite,手机andriod客户端使用linphone

repro配置和启动 log的配置

如果使用默认的log配置,则log级别是INFO,且所有log都打印到标准输出。


如果要输出到文件,则做如下类似配置:

########################################################
# Log settings
########################################################
LoggingType = file
LogLevel = STACK
#指定log文件路径
LogFilename = ../log/repro.log
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
web地址设置

如果要通过网页 *** 作repro的相关配置,则需要将HTTP的地址改成repro所在机器的ip。


端口默认配置是5080。


我的repro机器ip是172.16.12.29,则配置如下:

HttpBindAddress = 172.16.12.29, ::1
  • 1
  • 2
启动repro

./repro

创建domain、user以及route

浏览器登陆repro的控制页面:

172.16.12.9:5080
  • 1

提示输入用户名和密码,默认都是admin,登陆成功后点击login,界面如下: 

创建domain

任何user都必须要属于某个domain,repro会根据domain去路由下一跳。


创建domain界面如下,端口可以不填,域名随便输入。


创建domain后,会显示在下面的列表中。


 


特别注意的是: 
(1)创建domain后,需要重启repro。


 
(2)域名可以是字符串,也可以直接使用repro 的ip地址。


如果是字符串,就需要配置DNS规则。


比如我创建 test.sipproxy.cn,则需要将这个域名DNS到proxy上。


最简单的就是配置到/etc/hosts上。


否则会出现480 NO DNS错误。


创建user

输入用户名,选择domain,输入密码,add即可。


 

创建route

这一步不是必要的,但是我们拨打的时候,习惯输入数字号码,而不是用户名。


所以通过创建route来实现数字号码到用户名的映射。


按照提示正确输入URI和Destination。


 

客户端登陆

经过以上步骤,就有用户了: 


比如我有两个用户:[email protected][email protected] 
对应的号码分别是33333和44444

电脑上X-lite登陆:

手机上linphone登陆:

登陆成功后,repro控制页面上可以看到相关登陆注册的信息: 

测试结果

在test3上拨打号码44444,拨打成功。


抓包,flow图如下: 

遇到的问题

(1)域名一定要配置DNS

(2)如果域名用的是repro的ip,则不要改动repro的默认端口5060。


我的测试中一开始由于5060被其他应用占用,将repro的端口改成5066,配置ip域名打不通。


因为repro代码中从域名中解析不到端口,就会使用默认的端口5060,这个是硬编码写死的。


也就是说会将主叫的invite路由到5060端口去,导致通话失败。


非要用ip当域名且改变端口,可以在域名上加上端口,如172.16.12.29:5066。


(3)在repro端口上抓包,通话结束时,竟然没有抓到bye包。


 
这个的原因是ack和bye包,主叫和被叫直接发送了,没有经过repro。


因为bye是不同的事务,bye的路径依赖于RecordRoute,所以这个是repro没有将自己插入到RecordRoute导致的。


这个在配置中将ForceRecordRouting配成true,且RecordRouteUri配上就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/588604.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存