码迷,mamicode.com
首页 > 其他好文 > 详细

基于GBT28181:SIP协议组件开发-----------第二篇SIP组件开发原理

时间:2014-08-26 17:11:06      阅读:347      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   使用   strong   文件   ar   

上一节中讲的SIP组件,即GBT28181SipComponent动态.so库工程,生成libGBT28181SipComponent.so库文件和IGBT28181Comm.h编程接口,在该库中实现了REGISTER,

MESSAGE,NOTIFY,SUBSCRIBE,INVITE,ACK,BYE,CALL_MESSAGE等GB/T28181-2011 《安全防范视频监控联网系统信息传输、交换、控制技术要求》要求的SIP方法,

后期有新的需求可以添加。该库已经成功用于电网的多家视频安防企业中,性能稳定。Sip协议组件使用了开源的SIP协议栈OSIP2和开源的扩展协议集Exosip2,结合《技术要求》进行

了修改和扩展,使得模块符合《技术要求》对Sip通信的需求。

 

一.SIP组件主要依赖库列表

库名 功能
Osip2 一个开源的SIP协议栈,使用C编写,主要提供解析SIP和SDP消息的API和事物处理的状态机。
Exosip2 是对Osip2协议栈的封装和调用,作为Osip2的一个扩展协议集,使得Osip2更容易被使用。
Boost 一个准标准库,相当于对STL的的延续和扩充。
Loki C++的模板类库

 

二.SIP组件对外主要功能

 

bubuko.com,布布扣

Sip组件提供的接口与主要功能一一对应,接口的主要函数如下:

(1)启动Sip通信服务

int_t  IGBT28181Comm ::StartSip(const string_t ip, int_t port = 5060) ;

(2)停止Sip通信服务

void_t IGBT28181Comm::StopSip();

(3)发送Sip命令数据

int_t IGBT28181Comm::Downcast(const SipRequestInfo& info);

(4)Sip服务请求完成回调

typedef void_t  (*ResponseCallback)(const SipRequestInfo& info,void_t* user);

void_t IGBT28181Comm::SetResponseCallback(ResponseCallback callback,void_t* user) ;

 

这部分不想共享源代码,头文件和库文件的下载地址如下:

需要库源代码的可以联系作者。

 

注:

    原文:http://www.cnblogs.com/qq1269122125/p/3937590.html

 

基于GBT28181:SIP协议组件开发-----------第二篇SIP组件开发原理

标签:style   blog   http   color   os   使用   strong   文件   ar   

原文地址:http://www.cnblogs.com/qq1269122125/p/3937590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!