首页系统exosip(eXosip入门)

exosip(eXosip入门)

编程之家2024-02-06113次浏览

一、exosip与sipServlet 是什么关系

1、开源的sip服务器端,比较好用的是Asterisk,标准C程序实现,代码清晰。

exosip(eXosip入门)

2、sip的client相对比较多,主要有exosip,pjsip和opal。exosip简单易用,在PC上用比较方便。但是涉及的相关资源太多,用了osip,srtp,ms2等众多的开源库,ms2下面还用到了ffmpeg,别的不说,光编译就是噩梦。opal功能最强,虽然也用到了ffmpeg,但是自己封装的非常好,采用插件方式,调用灵活。opal采用class方式提供封装,接口非常友好。感觉唯一不爽的地方,就是低层使用了ptlib,虽然多平台下都很好用,但放在嵌入式下感觉稍庞大了一些。pjsip精巧,方便移植,嵌入式下应该是首选。不过视频频支持方面扩展起来比opal麻烦。个人感觉,对于windows开发者来说,pjsip最大的好处就是代码调试方便。整个工程一次编译通过,另外两个库还要找很多相关的资源

3、其他的一些协议栈也调试过,比如reSipphone,好象是这个名字,还有Yate,不过从快速开发角度看,都不太合适。现在搞sip开发的,一开始就是先找好协议栈。linphone,ekiga什么的,但庞大。对于刚开始做的,最好是一个精简的demo。后来找到pjsip下面的几个例子,慢慢地了解了sip的工作流程,当然少不了抓包工具和tcpdump。

不过,其实,sip没有想象中的那么麻烦。现在回头看,刚开始做项目,使用协议栈绝对不是好想法。如果换个方向,先熟悉SIP基本协议,然后自己改造一个,或完全写一个,可能效果更好。

二、跪求VS2008下如何编译exosip

当我有这个问题的时候,就一直Mark你的问题,结果等到我解决了你的问题还没人回答。

我来回答下吧。

exosip(eXosip入门)

OK,先从下载exosip2最新项目,我是用的

libeXosip2-3.6.0,编译工具VS2008

前期需要什么?osip2开源项目,openssl开源项目,或者直接下载已经编译好的lib和dll

自己新建一个空的dll项目,将其中exosip2中的源代码和头文件都加进来,在自己的项目目录下建一个include和一个lib目录。include里将osip和openssl的头文件加进来,lib里将osip和openssl的lib文件加进来。(官方放出的源代码里竟然有个低级变量没声明的错误,自己改过来)然后就是搞人的项目属性问题了。按照下面的来

编译的附加包含目录指定之前建好的include目录

链接的附加库目录指定之前建好的lib目录

exosip(eXosip入门)

预处理宏定义处:SRV_RECORD;_CRT_SECURE_NO_DEPRECATE;HAVE_OPENSSL_SSL_H;EXOSIP_EXPORTS;_DEBUG;ENABLE_TRACE;WIN32;_WINDOWS;_USRDLL;OSIP_MT;_MT

链接器附加依赖项:

osip2.lib osipparser2.lib WSock32.Lib IPHlpApi.Lib WS2_32.Lib Dnsapi.lib ssleay32.lib libeay32.lib Crypt32.Lib

编译自己建好的exosip2项目,如果有链接错误,检查出错的函数的头文件和lib文件是否被正确指明路径。我在编译的时候很多osip的函数连接错误,发现osip2的def文件里有些函数没声明,所以接着改def文件,重新编译osip2,再返回exosip项目编译。

总之折腾半天后算是通过了,生成exosip2.lib和exosip2.dll。

希望能帮到你,我就这样解决了。

mysql主机(MySQL中的主机解释)pert值(pert计算公式期望值)