IMSDroid介绍

支持视频的开源SIP客户端不多,IMSDroid看起来不错,准备研究下。(另外还有SIPDroid和linphone了,SIPDroid好像不支持视频,linphone怎么样? )。

有几个问题考虑:

1) IMSDroid的架构,哪些部分使用C/C++实现,及数据流?

2) 编解码是否可以使用硬件编码器?

3) 回声抑制问题?

4) 网络传输NAT问题?


下载源码,源码目录下有个android-ngn-stack.pdf文档介绍了软件的基本组成,一共有三层:

1) IMSDroid: 客户端界面

2) android-ngn-stack: 对doubangovoip框架的一个java层封装 。android-ngn-stack主要是为开发者在Android平台上开发VoIP应用提供软件栈(stack), 它为上层应用提供三种级别的接口:Low, Medium和High。Low最灵活,但是调用最复杂。android-ngn-stack包含一个org.doubango.tinyWRAP包,提供对底层doubangovoip的JNI调用。tinyWRAP.so是对底层doubango的封装。

3) doubangovoip:C/C++(?)实现的VoIP功能的库,包括以下库:

tinySAK (Swiss Army Knife): Utilities functions (SHA-1, MD5, HMAC, String, List, Timers, Thread, Mutex, Semaphore, ...)
tinyNET: Networking (DNS, DHCPv4/v6, STUN, TURN, ICE, ENUM, Sockets, ...)
tinyHTTP: HTTP stack (CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT, TRACE, ...)
tinyXCAP: XCAP stack (AUID manager, URL generator) without XML parser (See Java code for parsers)
tinyIPSec: IPSec SA manager. Useless for Android but you MUST have it
tinySMS: SMS over IP (SM-TL, SM-RL) for IMS/LTE networks
tinySIGCOMP: Signaling Compression
tinySDP: SDP protocol
tinyRTP: RTP/RTCP protocols
tinyMSRP: MSRP protocol (Chat and File Transfer)
tinyMEDIA: Media plugins manager (Audio, video, Codecs, sessions, MSRP, QoS, ...)
tinyDAV(Doubango Audio Video): Media plugins implementation
tinySIP: SIP/IMS stack

下面是IMSDroid最新版本的特征:

IMSDroid v2.x preview is now available for developers


The source code is under  branches/2.0  and depends and  doubango v2.x



New features: 

- The SIP/IMS Stack is 7 times faster

- NGN (Next Generation Network) stack for developers ( android-ngn-stack )

- Better audio quality (Adaptive jitter buffer, noise suppression, automatic resampling, gain control, ...)

- Better video quality (low latency, low cpu usage, ...)

- VP8 video codec

- Multi-line

- MSRP chat

- Fix many issues

你可能感兴趣的:(manager,Semaphore,video,plugins,audio,networking)