在Android平台中,Voip客户端的开源项目有Sipdroid、IMSdroid、CSipSimple、Linphone等,现对它们做一个比较,如下:
关系 \ 客户端 | Sipdroid | IMSdroid | CSipSimple | Linphone |
协议 | sip |
3GPP IMS
|
pjsip |
osip |
工具语言 |
Java(架构)
C++(编码)
|
Java(UI)
C++(架构,编码)
|
Java(UI)
C++(架构,编码)
|
Java
C++
|
音频/视频 | 音频/视频(低、中、高标准) 有回音 有噪音 音质优化效果一般 视频效果一般。 | 音频/视频(低、中、高标准) 音质好(具备消除噪音、消除回音功能),视频效果不错。 | 音频/视频(0-10标准) 音质好(具备消除噪音、消除回音功能),视频效果不错、具有音频、视频频率采集、聚焦等操作。 | 音频/视频 音质好(具备消除噪音、消除回音功能),视频效果不错。 |
音频/视频解编码器 | BV、GSM、speex、PCMU、PCMA、G722H、silk等。 | H.263++ H263+ H.263 H264-MP H264-BP Theora MP4V-ES VP8 G.729 G.722 Speex-UWB Speex-WB Speex-NB iLBC GSM PCMU PCMA等。 |
H.263、H264、G729、iLBC 、speex、silk等……,解码器作为插件使用。 | G722、GSM、arm、ilbc、speex、PCMU、PCMA、G722H、silk、vp8、h264、mpeg4等……。 |
Stun/Turn技术 | 仅支持Stun | 支持 | 支持 | 支持 |
加密技术 | TLS加密 | TLS加密 srtp加密 rtcp加密 | 支持 TLS加密 srtp加密 rtcp加密 | 不知道 |
ICE技术 | 无 | 支持 | 支持 | 支持 |
Webrtc技术 | 无 | 支持 | 支持 | 支持 |
Qos技术 | 无 | 支持 | 支持 | 不知道 |
即时消息(在线、短信) | 无 | 支持 | 支持 | 支持 |
多个电话 | 无 | 支持 | 支持 | 不知道 |
优缺点 |
优点:轻量级架构,结构简单易懂。 缺点:功能单一。 |
优点:具备VOIP各个功能,可直接使用。 缺点:库比较大。 |
优点:架构清晰,具备VOIP各个功能。 缺点:内存溢出(可忽略)。 |
笔者未研究,粗略如下: 优点:支持各种平台,技术成熟。 缺点:不知道。 |
针对这四款项目如何选择呢?因要求而异,笔者的推荐顺序如下:
首先:CSipsimple
其次:IMSdroid
最后:Sipdroid
笔者未研究Linphone项目,在此就不推荐了。