ReSIProcate之编译、安装、配置、运行、测试proxy

reSIProcate实现GB28181服务——注册、心跳、已注册用户存储、catalog、invite、info、subscribe 为什么是reSIProcate 我最初使用的是exosip2,但是个人感觉作为sipserver并不是很合适,因此找到了reSIProcate, 代码封装很好,就是资料比较少,在阅读demo和源码后先整理一份用于注册和心跳的demo,希望能帮助到大家。 特别说明 我这个demo是stack和dum在独立的线程中,transport也在单独的线程中处理,因为是demo, 只测试了和海康摄像机的通信,也没有处理资源的销毁,只是作为参考,如果代码有不妥之处希望留言指正。 好,废话不多说,上代码! 代码 阅读详情

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

 

 

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

 

ReSIProcate协议栈 最新的开源ReSIProcate协议栈 E文苦手就这里下吧 立即下载

相关推荐

reSIProcate 协议源码

这是一份resip协议栈的源码 通过这份高质量的源码,你可以领会C++的世界是多么的优美

SIP语音对讲从零到整之(二)resiprocate编译(Linux,库用于Android)

写在前面:本想淅淅沥沥的将sip语音对讲的整个开发过程全部记录下来,但由于工作原因,确实没时间写。这距离上一次使用sip都过去一年多了,再次使用时,稍感陌生,一周使用下来,却发现对源码了解更深。          这次继续先聊聊编译resiprocate-1.10.2,Windows的就不用说了,直接用VS打开工程文件,直接就编译过了,Linux版本的也简单,这就不说了。现在主要说说在Linux...

学无止尽,谨言慎行! 2611

repro_1.12(ubuntu).zip

resiprocate 1.12版本编译的repro 服务,提供sip服务

resiprocate: 开源的VoIP协议栈

是一个开源的VoIP协议栈,它提供了SIP、SDP等核心协议的支持,并且可以用于实现各种VoIP相关的应用程序和服务。 ## 什么是resiprocate? resiprocate是一个基于C++编写的开源VoIP协议栈。它的设计目标是提供一个高效、可靠、易于使用的API,以便开发人员可以快速地创建各种VoIP应用。resiprocate支持多种协议,包括SIP、SDP、TLS、HTTP等,并...

gitblog_00085的博客 794

别再折腾环境了!Windows 11 + VSCode + CMake 3.31.4 + MinGW-w64 一键式配置指南(附常见报错解决)

本文提供Windows 11下VSCode、CMake 3.31.4和MinGW-w64的一键式配置指南,帮助开发者快速搭建高效C++开发环境。涵盖工具链选型、环境变量配置、项目初始化及常见报错解决方案,大幅提升开发效率。

weixin_28841265的博客 186

TruckSim与Simulink联合仿真中的车轮转角精确控制策略

本文深入探讨了TruckSim与Simulink联合仿真中实现车轮转角精确控制的关键策略。针对多轴车辆路径跟踪时转角指令失灵的常见问题,核心在于正确配置TruckSim转向轴的外部输入模式(Advanced Settings),并确保仿真接口的稳定搭建。文章详细解析了从单轴到多轴协同转向的配置方法,并提供了提升MPC路径跟踪精度的实战技巧与调试经验。

weixin_29035147的博客 367

如何使用SIPp测试ReSIProcate的Proxy

花了两天时间阅读SIPp的文档,包括SIPp Reference Document,STSLabs User Manual。 颇有些说明书控的感觉,一切准备好了,开始进行了使用SIPp测试ReSIProcate的Proxy的实践,没想到颇为不顺,于是有了这篇博文,记录一下个人经验,以供后人借鉴。 一开始按照说明Run sipp with embedded server (uas

soliddream66的专栏 3295

Ubuntu下全面解析硬盘健康:从基础检测到性能优化

本文详细介绍了在Ubuntu系统中如何全面监测硬盘健康状态。从安装smartmontools工具、解读SMART关键属性(如重新分配扇区计数、通电时间),到进行性能基准测试(使用dd和fio),最后根据检测结果提供针对性的优化与预警方案,帮助用户有效预防数据丢失并提升硬盘可靠性。

weixin_29223603的博客 287

【reSIProcate学习】搭建与测试笔记

作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.目标 兼容标准、易用性、效率达到> 1000 tps 、占用空间< 1 MB、可移植、支持Windows、并且SIP安全 2.应用 嵌入式电话、软终端、网关、代理、B2BUA、IM/状态服务器、客户端。 3.特性 支持协议:UDP, TCP, TLS, IPv6 ...

weixin_34327761的博客 554

Xtract or Ucfyber的最条理的整理入门级教程

XTRACT可以对任意截面进行全过程截面分析。工程中常用来分析各种截面(如异形柱、组合截面等)的非线性特征点及承载力校核。 xtract主要思路也是根据各种材料本构关系,基于平截面假定,用fiber划分截面进行全过程非线性分析。......

→★佐佑思维★← 8397

手把手教你搭建自己的 API 中转站

本文介绍了如何通过开源工具CLIProxyAPI(CPA)搭建本地AI模型代理服务,解决多工具切换、海外API访问困难等问题。CPA可将OpenAI、Gemini等不同服务的API统一封装,用户只需配置一次账号信息,所有客户端即可通过标准接口访问。文章详细讲解了CPA的下载安装、配置修改、账号导入及客户端连接方法,并强调其经济性、可控性和集中管理优势。通过自建中转站,用户可避免第三方服务的质量风险,实现多账号负载均衡,构建个人AI资源池。最后提供了网络配置等实用建议,帮助开发者高效使用AI编程工具。

DongJiYong_20的博客 1799

SER研究笔记

我们项目组现在的测试环境就是用SER作为SIP Proxy。SER以C写成,据说其性能比其他任何SIP Proxy都好,并且是高度可配置的。默认配置下,SER在响应中加入了类似如下的头部:Server: Sip EXpress router (0.9.6 (i386/linux))后来,从ekiga.net(Ekiga是FedoraCore4及以上附带的开源软电话,而ekiga.net是其默认SI

kenny_yu的专栏 5678

Istio ICA考试之路---2-2

找到dr部分,这部分可以在mirroring里找也可以和题2-1一样在Traffic Management的dr里复制,内容都一样。此题之后都是在cluster-2上操作,所以就不需要再切换了.之后的几题2.1节就忽略掉了。可以看到,80%的流量被镜像到了dev上,实际考试这步可以忽略。看到ex-ip是192.168.126.220。获取gw,把gateways加入到vs配置中。获取istio-ingress的ex-ip。就获得了这样一个模板文件。查看2个pod的日志。

Q先生 854

转载笔记

http://blog.youkuaiyun.com/kenny_yu/archive/2007/03/12/1526434.aspx我们项目组现在的测试环境就是用SER作为SIP Proxy。SER以C写成,据说其性能比其他任何SIP Proxy都好,并且是高度可配置的。默认配置下,SER在响应中加入了类似如下的头部:Server: Sip EXpress router (0.9.6 (i386/lin

seraphsky的专栏 1960

【定位模块项目实战】正态分布变换(NDT)定位及建图(依赖高精度点云地图和三维激光雷达的定位方案)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、正态分布变换(NDT)定位解决的主要问题二、正态分布变换(NDT)定位的核心思想三、NDT算法流程1.多元正态分布概念2.网格化并计算正态分布参数3.变换参数和最大似然四、使用C++实现NDT配准参考资料 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对依赖高精度地图和激光雷达的定位技术–正态分布变换(NDT)定位做个简单的介绍,具体

qq_35635374的博客 4411

学Simulink--基础微电网场景实例:基于Simulink的微电网并网/孤岛无缝切换控制仿真

本文完成了基于 Simulink 的微电网并网/孤岛无缝切换控制仿真,实现了:✅ 构建含双模式逆变器的微电网模型✅ 实现预同步 + Stateflow 逻辑的智能切换✅ 验证计划与非计划切换的性能边界✅ 证明“无缝”在工程上是可实现的。

amy_mhd的博客 102

SIP语音对讲从零到整之(一)sip介绍

该专栏选去两种协议(pjsip、resip)进行学习,其他协议暂时不纳入讲解范围。这两种协议均是我亲自使用、验证过。以下一些言辞仅是我一家之言,有不对的地方欢迎大家指正,谢谢。 PJSIP和ReSIP区别 1、ReSIProcate协议栈 ReSIProcate是SIPFoundry的开源项目,ReSIProcate协议栈是在VOCAL的基础上建立的,由于VOCAL开始只支持rfc325

学无止尽,谨言慎行! 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【亲测免费】 reSIProcate:构建高效SIP协议应用的利器

reSIProcate 是一个开源的 SIP(Session Initiation Protocol)协议栈实现,旨在为开发者提供一个强大且灵活的工具,用于构建基于 SIP 协议的应用程序。该项目自 1.8.x 版本开始,采用了新的构建系统,简化了开发流程,同时保留了旧版本的构建系统以支持遗留项目。reSIProcate 不仅支持传统的 SIP 功能,还提供了对 IPv6、SSL 等现代网络技术的...

gitblog_01131的博客 555

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Resiprocate_源码分析

协议栈的层次SIP为应用层(Application-Layer)的协议,所以不需要改变操作系统便可以支持。SIP 已经获得3GPP (Third GenerationPartnershipProject)、3GPP2 (Third Generation PartnershipProjectNumber 2)等机构认证,成为未来第三代行动通讯 (3G) 的标准。下面是SIP的分...

weixin_34352005的博客 1080

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

reSIProcate介绍(英文)

  reSIProcate SIP stack overview reSIProcate is a high performance, object-oriented, C++ sip stack that is compliant with RFC 3261. It includes supp

NeoMc的技术博 2797

resiprocate:构建现代通信应用的开源利器

在当今数字通信快速发展的时代,VoIP技术已成为企业通信和个人交流的重要支撑。在众多开源VoIP解决方案中,resiprocate凭借其强大的协议支持和灵活的架构设计,为开发者提供了一个可靠的通信基础设施。 ## 协议栈的核心价值 resiprocate作为基于C++开发的开源项目,其设计理念围绕"模块化"和"可扩展性"展开。该项目不仅实现了SIP、SDP等核心通信协议,还整合了ICE、TUR

gitblog_00453的博客 666

Windows平台下reSIProcate项目使用

首先从官网上下载源码,进行编译,中途需要更改部分错误,更改后可以编译运行的项目地址在: 疑问: 1、为什么不需要BerkelyDB就能创建*.db文件? 因为 注意事项: 1、在repro.exe的当前目录下必须存在repro.config配置文件。 2、如果提示“libmysql.dll”文件找不到,可以在resiprocate-1.8.14\contrib\...

1004

resiprocate 学习笔记

resiprocate学习

liuxingrui4p的专栏 422

reSIProcate 项目使用教程

### 2.1 环境准备 在开始之前,请确保你的系统已经安装了以下工具和库: - Git - CMake - C++ 编译器(如 GCC 或 Clang) - OpenSSL - Ares 库 ### 2.2 下载项目 首先,使用 Git 克隆 reSIProcate 项目到本地: ```bash git clone https://github.com/resiprocate/resi...

gitblog_01100的博客 783

resiprocate编译测试

从github下载的源码,无论怎么配置boost的include路径,总是报编译错误。无奈,只能从tarball源码编译。tarball的源码从https://www.resiprocate.org/files/pub/reSIProcate/releases/下载,下载后解压到reciprocate目录下,然后执行下面命令就可以编译安装了。$ cd resiprocate $ ./configur

摩西的专栏 1759
上一篇: C库风格字符串实现CString的Replace函数功能
下一篇: 如何使用SIPp测试ReSIProcate的Proxy
soliddream66
博客等级 码龄19年 93粉丝 65原创
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值