最近在移植ICS的sip call。现把移植经历分享一下。
sip call拨打电话过程跟正常拨打电话过程没什么两样。但是sip call需要有WiFi的支持。并且有sip server可以提供账户。
SipSettings.java是sip call的通话设置。ICS已经做好。只需要开启WiFi,可以添加账户。并可以选择允许接听电话否?

接下来,你就可以拨打电话了。下面说说拨打电话的过程。

1.首先,要打开sip call的权限。可以在.*.mk文件中。添加

 PRODUCT_COPY_FILES += \ frameworks/base/data/etc/android.software.sip.xml:$(PRODUCT_OUT)/system/etc/permissions/android.software.sip.xml \frameworks/base/data/etc/android.software.sip.voip.xml:$(PRODUCT_OUT)/system/etc/permissions/android.software.sip.voip.xml

2.在DialpadFragment.java中。可以设置一个sip的拨号键。
 ->dialButtonPressed(),设置一个intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
                            Uri.fromParts("sip", number, null));
3.其他过程同ICS打电话过程一样,请参考我之前的ICS来电话,打电话过程。此处不再赘述。需要注意的是。在SipCallOptionHandler.java中createSipPhoneIfNeeded()会创建并注册sip phone。如何没有创建,需要检查PhoneApp.java中是否需要创建。
如果没有意外,那么恭喜你,sip call已经可以拨打通话了。

接听电话过程。
首先需要在sip setting中,将允许接听电话的选项勾选上。
1,在SipBroadcastReceiver.java中。onReceive()中当勾选允许接听以后,action.equals(SipManager.ACTION_SIP_ADD_PHONE)会创建并注册一个sip phone.
2.当电话来之后,会收到ACTION_SIP_INCOMING_CALL广播。调用
 ->takeCall()
3.SipPhone.java
 ->canTake()
 如果没有意外,恭喜你。sip可以接听电话了。

转载于:https://www.cnblogs.com/chengliu/archive/2012/06/14/3636415.html

ICS SIP Call移植相关推荐

  1. 深入Linux设备驱动程序内核机制- 扫描版-有书签目录40M

    深入Linux设备驱动程序内核机制- 扫描版-有书签目录40M http://download.csdn.net/detail/zhanglu231123/4581643  深入Linux设备驱动程序 ...

  2. RFC文档阅读器(RFC Reader)软件介绍

    因为工作原因需要移植SIP协议栈,所以阅读SIP协议的标准文档RFC3261就成为必要的工作.然而RFC的文档都是以txt纯文本格式发布(虽然也有pdf格式的,但没有目录书签功能),如果使用记事本来阅 ...

  3. 基于SIP和RTP协议的开源VOIP之QuteCom简单介绍

    **************************************************************************************************** ...

  4. 介绍一个开源的SIP(VOIP)协议库PJSIP

    本文系转载,出处不可考. 假设你对SIP/VoIP技术感兴趣,哪希望你不要错过:),假设你对写出堪称优美的Code感兴趣 ,那么你也不可错过:) 这期间我想分析一下一个实际的协议栈的设计到实现的相关技 ...

  5. linux命令行sip电话,基于Linux和MiniGUI的SIP电话终端设计

    0 引言 随着VoIP的迅猛发展,越来越多的个人用户正在使用软件电话.IP电话通过VoIP系统拨打国内和国际长途,IP电话的需求量越来越大,同时,人们对IP电话的要求也越来越高,例如要求IP电话体积小 ...

  6. 【实践驱动开发3-004】TI WL1835MODCOM8 在android的移植 - 系统结构初始化和参考列表

    移植wifi,显然必须了解wifi的基础结构,尤其在Android下的结构. 1 wifi的系统结构: 2 SDIO/wifi驱动分析 1.1 Android 下的wifi配置设置 在GOOGLE的网 ...

  7. 智能视屏会议系统(19)---开源视频会议SIP协议栈

    开源视频会议SIP协议栈 最近接触了一些视频通讯方面的知识,为方便以后查阅,因此整理到这里.  以下是几个比较重要的开源SIP协议栈  视频会议系统由于需要与不同的终端进行连接,因此我们需要视频会议终 ...

  8. 移植ubuntu14.04根文件系统至beaglebone开发板探索

    移植ubuntu14.04根文件系统至BeagleBone开发板探索 移植背景 我是一个linux小白,然而由于项目需要,一个师兄为机器人的控制定制了一个开发板,基于beaglebone.由于此开发板 ...

  9. VoLTE技术中的会话持续性-ICS

    参考文献: 1,邮电设计技术:移动软交换向m-AGCF演进分析 2,3GPP ICS标准 目录 ICS概念 ICS的用户需求场景 ICS对现网的影响 ICS中的用户终端 ICS中的用户标识 ICS.S ...

最新文章

  1. linux文件权限详解
  2. 特斯拉线圈的阻抗分析
  3. Java程序员应该知道的10个调试技巧
  4. 【知识星球】图像降噪模型和数据集内容开启更新,经典问题永垂不朽!
  5. jupyter kernel_如何在Jupyter笔记本中运行Scala和Spark
  6. 2016年最好的15个Web设计和开发工具
  7. 从闪迪的一个U盘看整个行业
  8. 前端验证的Ajax框架——myAjax.js
  9. 微软私有云2012软件发布
  10. react录制mp3格式音频,输出二进制数据流向后台请求音频的url
  11. (后台)Openbravo如何实现业务事件监听处理
  12. java 调错_Java FX Rubberband调整大小错误
  13. python中小学生编程学习-推荐几个适合小白学习Python的免费网站
  14. 08s01 mysql_mysql报错 code:08S01,msg:SQLSTATE
  15. RK3568-ANDROID11-降频DDR
  16. k8s1.20二进制安装
  17. source not found解决方法(亲测)
  18. 言语如何成为交互设计的基础
  19. linux中一些好玩的程序安装
  20. [转] 使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制

热门文章

  1. HTML显示xml中的CDATA内容
  2. ADO.NET DataSet 数据模型
  3. SpringCloud学习(八)消息总线(Spring Cloud Bus)(Finchley版本)
  4. HDU-1028 Ignatius and the Princess III(生成函数)
  5. 【机器学习_4】机器学习算法分类
  6. 分布式缓存 - hash环/一致性hash
  7. 【MVC】ASP.NET MVC5 使用MiniProfiler 监控MVC性能
  8. Ymordem学习使用
  9. 静态库和动态库详解(部分参考别人)
  10. 用Opengl实现骨骼系统