学习原因:
最近公司动荡,有一种深深的危机感,需要储备点自己的知识了。由于目前笔者所做的是RCS/IMS,代码都是公司自己私有的,还是学习点开源的比较好。
查了一下开源的方案,RCS开源客户端特别的少,试用了一下功能不是很好。里面相对Doubango靠谱的多,但它是一个IMS的开源方案,距离RCS5.1还有一段路要走。
因此就有了学习并开发doubango到RCS5.1想法。虽然任务艰巨,但万一要实现了呢~~
选取doubango的原因:
网上介绍Doubango的文章很多,这里就不多说了,一个字就是“靠谱”。
Doubango代码的下载和编译:
需要翻墙下载代码,编译也需要做点修改。我是做android开发的,编译时也费了点功夫,脚本环境啥的都需要配置。有一点事肯定的,在windows下你按照说明肯定是编不出来的。遇到错误百度或者检查下脚本就行了,总之是能折腾出来的。
Doubango在android中的实现:
Doubango是跨平台的,所有主流系统都有实现。在android中的实现是IMSDroid,他使用了android-ngn-stack作为协议栈。android-ngn-stack是包装了doubango的适配层(语言贫乏,找不到合适的词)。
tinyWRAPJNI.java是JNI的接口,里面列出了所有Doubango的对外接口。在org.doubango.tinyWRAP这个包里,还有很多结构体,在Doubango中都有对应。