Doubango解决方案
android-ngn-stack是Doubango的解决方案,其中包括许多组件等部分;
客户端:
1、 Boghe:IMS/RCS Windows客户端
2、 IMSDroid:Android版IMS/RCS客户端采用android-ngn-stack
3、iDoubs:IOS(iPhone,iPad和iPod Touch)版IMS/RCS客户端
服务端:
4、OpenVCS:OpenVCS代表开源视频会议服务器和用于管理多点控制单元(MCU)。每个MCU(又称桥接器)最多可处理64个参与者
5、Flash2IMS:Adobe? 闪存SIP/IMS网管
亮点(支持特征):
6、SIP(RFC 3261,3GPP TS 24.229 Rel-9)
7、TCP和UDP IPv4或IPv6
8、信号压缩,SigComp(RFC3320,3485,4077,4464,4465,4896,5049,5112和1951)
9、加强版通讯录(XCAP存储,授权,presence)
10、发布第三版GSMA富通信套件
11、部分支持声音档案V1.0.0(GSMA VoLTE)
12、部分支持MMTEL UNI(GSMA RCS和GSMA VoLTE)
13、基本的IMS-AKA的注册(包括AKA-V1和AKA-V2),MD5
14、3GPP IMS早期安全性(3GPP TS33.978)
15、Proxy-CSCF使用DNS NAPTR+SRV
16、3GPP对SIP私有头(Headers)扩展
18、服务路由(Service Route discovery)
19、订阅注册事件包(履行网络发起(re/de/un)注册(registration)事件)
20、3GPP SMS IP(3GPP TS23.038,24.040,24.011,24.431和24.451)
21、语音呼叫(G729AB1, AMR-NB, iLBC, GSM, PCMA, PCMU, Speex-NB)
22、视频呼叫((H264, MP4V-ES, Theora, H.263, H.263-1998, H.261)
23、DTMF (RFC 4733)
24、使用前提QoS协商(RFC 3312, 4032 和5027)
25、SIP会话计时器(RFC4028)
26、临时响应确认( Provisional Response Acknowledgments)(PRACK)
27、保持通信(3GPP TS 24.610)
28、消息等待提示(3GPP TS 24.606)
29、使用ENUM协议调用E.164号码(RFC3761)
30、NAT穿越使用STUN2(RFC5389)与可能性自动发现服务器
通过使用DNS SRV(TURN已经实现,ICE正在测试)
31、一对一和群聊
32、文件传输和内容共享
设置Android权限
为了使用该框架你必须在AndroidManifest.xml清单文件添加一些用户权限。
打开myFirstApp/AndroidManifest.xml ,然后填充如下这些权限配置:
<
uses-permission
android:name
="android.permission.INTERNET"
/>
<
uses-permission
android:name
="android.permission.ACCESS_WIFI_STATE"
/>
<
uses-permission
android:name
="android.permission.ACCESS_NETWORK_STATE"
/>
<
uses-permission
android:name
="android.permission.CHANGE_WIFI_STATE"
/>
<
uses-permission
android:name
="android.permission.CHANGE_NETWORK_STATE"
/>
<
uses-permission
android:name
="android.permission.WRITE_EXTERNAL_STORAGE"
/>
<
uses-permission
android:name
="android.permission.CAMERA"
/>
<
uses-permission
android:name
="android.permission.WAKE_LOCK"
/>
<
uses-permission
android:name
="android.permission.RECORD_AUDIO"
/>
<
uses-permission
android:name
="android.permission.MODIFY_AUDIO_SETTINGS"
/>
<
uses-permission
android:name
="android.permission.VIBRATE"
/>
<
uses-permission
android:name
="android.permission.RECEIVE_BOOT_COMPLETED"
/>
<
uses-permission
android:name
="android.permission.WRITE_SETTINGS"
/>
<
uses-permission
android:name
="android.permission.DISABLE_KEYGUARD"
/>
<
uses-permission
android:name
="android.permission.READ_CONTACTS"
/>
<
uses-permission
android:name
="android.permission.WRITE_CONTACTS"
/>
<
uses-permission
android:name
="android.permission.READ_PHONE_STATE"
/>
<
uses-permission
android:name
="android.permission.PROCESS_OUTGOING_CALLS"
/>
<
uses-permission
android:name
="android.permission.CALL_PHONE"
/>
<
uses-permission
android:name
="android.permission.RAISED_THREAD_PRIORITY"
/>