tinySigComp API 概述 原文 http://www.doubango.org/apiref.html
tinySigComp 是一个小型的但是实现了对2.5G 3G和4G蜂窝式网络的信号压缩。这个库也是在doubango项目中被用来支持3GPP IMS和OMA网络的。这个API被很好的优化过以便能够适应在低内存和低计算速度的嵌入式设备上运行。
许多运营商已经开始使用IMS来获取利润了,适当的在低带宽情况下中使用SigComp将能够提高效率。在我个人看来,大多数的运营商(特别是那些用了RCS的)将会提出如何降低SIP中信号(registion,billing,presence,messaging ...)的带宽使用(那些需要为字节付费的人?)。这些问题在那些在无线手持设备的2.5G 3G 4G网络上使用SIP(或者是其他基于文本的协议)的时候,会被格外关注。
SigComp代表着信号压缩,IETF组织已经在RFC 3320文档中将其定义好。
为多媒体通信而开发的应用层协议大多是基于文本,并且是为带宽较富裕的网络设计的。所以这些消息在字节量上优化的并不是好。
如:典型的IMS/SIP消息体的长度限制已经从几百个字节上升到了两千多个字节或者更多。正因如此,SigComp对于3GPP IMS网络和PoC systems来说是十分必要的。
由于SIP包的大小问题,SigComp 对于RCS(Rich Communication Suite)也同样有用。在IMS/RCS中使用SigComp可以减少包在无线基站间传输的负荷。
支持的操作系统
- Windows XX/Vista (Visual Studio 2005/2008 or Mingw32)
- Windows Mobile 5 and later (Visual Studio 2005/2008 or Mingw32ce/cegcc toolchain)
- Symbian S60 (Carbide.c++ v2.0 with S60_3rd_FP2_SDK_v1.1)
- Google Android
- Mac OS X, iPhone (Xcode)
- All Linux, FreeBSD, ... (GCC 4.x)
特性
这个工程的主要目标是提供一个SigComp框架:
- 能够像一个外部API或者是框架一样被使用
- 高可移植性(使用ANSI-C 编写并且没有使用其他任何依赖库)
- 易于配置 (内存使用, 系统优先级, 有状态/无状态模式, 动态/静态/共享压缩类型 …)
- 很容易与 SIP/IMS stack, Proxy-CSCF, PoC 客户端结合起来…
- 允许很轻易的加入你自己的压缩机制 (默认DEFLATE – RFC 1951)
- 健壮的
- 有效的运行在移动手持设备上
- 使用更小的内存
- 在低CPU上高效率运行
- 支持TCP或者是UDP压缩模式。
- 线程安全
从这里开始