Exosip分析
Posted 百鸣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Exosip分析相关的知识,希望对你有一定的参考价值。
Exosip是一个开源的SIP协议栈,用于实现SIP客户端和服务器的功能。它在C语言中实现了SIP协议的所有功能,并提供了一个易于使用的API接口,使开发人员可以轻松地构建自己的SIP应用程序。
一、Exosip的架构
Exosip的架构基于事件驱动模型,它使用exosipeventwait()函数等待SIP事件,并将事件分派到处理程序中。当Exosip收到一个SIP消息时,它将消息转换为一个事件,并将该事件添加到事件队列中。然后,Exosip调用exosipeventwait()函数等待事件的到来。一旦事件到达,Exosip将事件分派到相应的处理程序中。
二、Exosip的API接口
Exosip的API接口是面向对象的,它使用C语言中的结构体和函数指针来实现。开发人员可以使用这些结构体和函数指针来构建自己的SIP应用程序。以下是一些常用的Exosip API:
-
exosip_init():初始化Exosip库。
-
exosipsetoption():设置Exosip库的选项。
-
exosipregisterbuildinitialregister():构建初始注册请求。
-
exosipregistersendinitialregister():发送初始注册请求。
-
exosipeventwait():等待SIP事件。
-
exosip_lock():锁定Exosip库。
-
exosip_unlock():解锁Exosip库。
-
exosipcallbuildinitialinvite():构建初始邀请请求。
-
exosipcallsendinitialinvite():发送初始邀请请求。
三、Exosip的优势
-
易于使用的API接口:Exosip的API接口是易于使用的,开发人员可以轻松地构建自己的SIP应用程序。
-
可移植性:Exosip可以在各种操作系统和硬件平台上运行,包括Linux、Windows和嵌入式系统等。
-
开源:Exosip是一个开源项目,任何人都可以自由地使用、修改和分发它。
-
高度可扩展:Exosip支持多种SIP扩展,如SIP SIMPLE、SIP MESSAGE、SIP INFO等。
-
高性能:Exosip使用事件驱动模型,具有高效的处理速度和低延迟。
四、Exosip的应用场景
Exosip可以用于各种SIP应用程序的开发,如SIP客户端、SIP服务器、SIP Proxy等。以下是一些常见的Exosip应用场景:
-
VoIP电话:Exosip可以用于开发VoIP电话应用程序,使用户可以进行语音通话和视频通话。
-
IM应用程序:Exosip支持SIP SIMPLE和SIP MESSAGE扩展,可以用于开发即时通讯应用程序。
-
呼叫中心:Exosip可以用于开发呼叫中心应用程序,使客户可以与客服人员进行语音通话和视频通话。
-
会议系统:Exosip可以用于开发多方会议系统,使多个用户可以进行语音通话和视频通话。
总之,Exosip是一个功能强大、易于使用、高可扩展和高性能的SIP协议栈,可以满足各种SIP应用程序的需求。
vs2019编译osip和eXosip库及测试示例
1.环境准备及编译源码下载:
系统:Winodws10
编译环境:VS2019
源码下载链接:
http://mirror.ossplanet.net/nongnu/exosip/
http://ftp.twaren.net/Unix/NonGNU//osip/
https://c-ares.haxx.se/download/
下载完,新建工程目录,解压文件:
打开exosip\\platform\\vsnet文件夹下的libcares.vcxproj,开始编译
报错,
如果需要就添加SSH的库源码,如果不需要就去掉编译依赖,点击工程eXosip, 右键选择属性,配置属性->c/c+±>预处理器->预处理器定义,去掉 HAVE_OPENSSL_SSL_H
修改\\osip\\platform\\vsnet目录下面的osip2.def、osipparser2.def两个文件,具体如下:
打开osip2.def文件,在最末尾加一行:
osip_transaction_set_naptr_record @138
打开osipparser2.def文件,在文件最后添加:
osip_realloc @416
osip_strcasestr @417
__osip_uri_escape_userinfo @418
修改完,重启VS工程,再次编译,编译成功。
以上是关于Exosip分析的主要内容,如果未能解决你的问题,请参考以下文章