oSIP是GNU的标准sip库,exosip是对osip的‘封装’,但不属于gnu。接下去介绍下区别。
osip:不带传输层(socket自己管理) exosip带传输层(socket协议栈管理)
osip:无SSL exosip:有SSL
osip:只提供线程函数封装(让用户自己决定)exosip运行时直接带线程(默认有,直接提供会话的状态机的运行线程_eXosip_thread)
其实osip基本工作是完成了rfc3261中的17章会话层状态机和SIP域的解析。那osip怎么把其他工作交给其他程序?回调。所以osip在 直接使用时要注册一堆回调函数,而exosip已经完成了这些工作
另外exosip默认提供了会话状态机的运行线程_eXosip_thread。这样更方便了用户的使用。(但话说回来,这模型似乎是个ActiveObject,如果并发呼入量大的话,会成为瓶颈,猜想这可能也是osip直接不带线程原因)