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配上就可以了。

时间: 2024-10-16 22:44:08

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

内网搭建HmaiServer邮件服务器及AfterLogic webmail问题

最近由于工作需要,在内网搭建HmaiServer邮件服务器及AfterLogic webmail,所遇到的问题与解决办法与大家分享. 环境 xampp 1.8.2 windows 2003 在笔记本win7(连接互联网)上搭建HmaiServer邮件服务器及AfterLogic webmail后一切正常,遂到内网服务器windows 2003(未连接互联网)搭建,结果: 1.登陆AfterLogic webmail用户页面无响应,在install页面与adminpanel检查数据库连接均测试成功

为公司内网搭建一个无人执守安装服务器

为公司内网搭建一个无人执守安装服务器 方法 ftp + tftp + dhcp + kickstart + PXE 什么是 PXE ? PXE 并不是一种安装方式,而是一种引导的方式.进行 PXE 安装的必要条件是要安装的计算机中包含一个PXE支持的网卡(NIC),即网卡中必须要有PXE client.PXE(Pre-boot Execution Environment)协议使计算机可以通过网络启动.网卡中必须有PXE芯片. 协议分为 client 和 server 端,PXE client在网

搭建基于MyEclipse的Hadoop开发环境

前面我们已经搭建了一个伪分布模式的Hadoop运行环境. 我们绝大多数都习惯在Eclipse或MyEclipse中做Java开发,本次随笔我就教大家如何搭建一个基于MyEclipse IDE的Hadoop开发环境. 闲话少说,走起! 第一步 安装MyEclipse的Hadoop插件 1 打开MyEclipse,查看是否已经安装过 window  ->  preferences 没有显示Hadoop Map/Reduce,所以说明是MyEclipse是没有安装过Eclipse的插件. 首先,确认你

第五章 搭建S3C6410开发版的测试环境

第五章 搭建S3C6410开发版的测试环境 5.1 S3C6410开发版简介 S3C6410 是一款低功耗,高性价比的精简指令集计算机处理器,基于ARM11内核,应用于移动电话和通用处理等领域.   S3C6410为2.5G和3G通信服务提供了硬件性能.这个处理器内置一个非常先进的3D加速器.能实现4M triangles/s的3D加速.它还包含优化的外部存储器接口.这个接口可以满足在高端的通信服务中数据带宽要求.   S3C6410 ARM11处理器的芯片无法测试Linux驱动,必须在它的基础

Windows、Linux、ARM、Android、iOS全平台支持的RTMP推流组件EasyRTMP之如何搭建EasyRTMP-Android推流至EasyDSS测试环境

Real Time Messaging Protocol(RTMP)即实时消息传输协议,是 Adobe 公司开发的一个基于 TCP 的应用层协议,目前国内的视频云服务都是以 RTMP 为主要推流协议. EasyRTMP推流功能特点 - 调用简单 无论是个人开发者还是企业级应用,只需要简单的几个接口调用就可以完成一套完整的互联网直播应用的上架 - 功能完善 配套完整的直播.录像.旋转功能示例,用户直接复用即可选择嫁接自定义功能 - 运行高效 高效缓冲和发送设计模式,能非常灵活地让用户自定义延时和缓

搭建nginx在centos5.6测试环境

神一样的堕落了,以前搭建任何linux下的服务不费吹灰之力,现在搭建一个nginx居然老是想着找运维的小伙伴了.岁月催人老啊...看到小伙伴们如此的忙碌,我选择自己动手丰衣足食吧,过程记录下. wget http://nginx.org/download/nginx-1.7.3.tar.gz 我是在centOS 5.6下弄得,这个是64位.因为这边需要测试一个自己用python写的agent.下载以后很简单的解压.编译,这个过程遇到一些比较蛋疼的事情.具体如下: ./configure: err

Android深度探索(卷1)HAL与驱动开发 第五章 搭建S3C6410 开发板的测试环境

第五章 搭建S3C6410 开发板的测试环境 心得体会 开始进行安装串口调试工具:minicom  OK6410开发板带了一个串口.可以通过串口线与PC连接.Linux驱动在输出调试信息的同时会通过串口线教调试信息发送到PC上,这样Linux驱动程序员就可以直接在PC上查看调试信息了.(对一些笔记本需要使用USB转RS232串口线) 1.检测当前系统是否支持USB转串口 #lsmod | grep usbserial 2.安装minicom #apt-get install minicom 3.

公司内网搭建代理DNS使用内网域名代替ip地址

企业场景 一般在企业内部,开发.测试以及预生产都会有一套供开发以及测试人员使用的网络环境.运维人员会为每套环境的相关项目配置单独的Tomcat,然后开放一个端口,以 IP+Port 的形式访问.然而随着项目的增多,对于开发和测试人员记住如此多的内网地址,无疑是一件头疼的事情(当然你也可以使用浏览器书签管理器或者记录在某个地方).但是你不永远不会确定,那天由于升级突然改了IP,我们可能又要重新撸一遍配置,所以内网域名还是非常有必要的. 内网域名具体有哪些优点: 方便记忆 变更IP,只需要修改DNS

第五章、搭建S3C6410开发板的测试环境

通过对本章的学习,我对s3c6410开发板的测试环境有了一定的认识,并掌握了如下的知识点:一.对于s3c6410这款开发板,它是一款低功耗.高性价比的处理器,它是基于ARM11的内核.二.不同开发板的区别主要在烧录嵌入式系统的方式上.三.安装串口调试工具的步骤:minicom的步骤1.检测当前环境是否支持usb转串口# lsmod | grep usbserial2.安装minicom# apt-get install minicom3.配置minicom# minicom -s 进入“seri