`
xiaoheliushuiya
  • 浏览: 396787 次
文章分类
社区版块
存档分类
最新评论

SipDroid开源软件的研究

 
阅读更多

1、开发环境的配置

下载下来SipDroid源代码后,不能直接导入到eclipse中,否则是无法使用和编译的。

首先需要通过command line参照工程目录下的BUILT.txt文件对工程进行update。

如:android update project -p . -t 2(这里 -p指的是 --path -t指的是 --target)

由于是开源软件,需要版本控制的服务器,可以安装Subclipse(可以参见官网)

这样就可以将工程import到eclipse中了。

2、下面是我最近收集整理的一些Android视频通话技术开发的资料:

目前市场上在Android手机上支持视频通过并且已经实现的软件有:

SipDroid、QikFringforAndroid.

(最近Skype公司透露也将开发Android上的视频通话软件:

http://www.opda.cn/2010/05/30/skype-mobile-coming-to-android-this-year-possibly-with-video-calling/

下面是一些网页链接(有的包含视频通话的演示)

Qik:http://www.pin5i.com/showtopic-android-use-qik-for-video-chat.html

FringforAndroid:

http://bbs.goapk.com/viewthread.php?tid=8887&extra=page%253D1%2526amp%3Borderby%253Ddateline%2526amp%3Bfilter%253D2592000

http://v.youku.com/v_show/id_XMTc2OTgxMTA4.html

SipDroid:(国外已经实现的SipDroid视频通话)

http://v.youku.com/v_show/id_XMTc3MTIzNjY0.html

在上面三个软件中:SipDroid为开源软件项目FringforAndroid为免费但是不开源Qik是收费的

从通话质量来说:SipDroidFringforAndroid要好。

下面就最有前途的SipDroid的简单介绍

SipDroid是一款开源的SIP/Voip客户端软件,针对Android手机开发平台。

它是通过SIPprovider来提供电话通信服务的,在它的最新的版本1.5.5beta中也提供了视频通话的服务。

它运行在标准的SIP协议之上,由于Android内核本身没有提供SIP协议栈,所以SipDroid软件中通过JNI直接实现了SIP协议栈。

它能够在如下一些网络中提供VoiP服务:WLAN3GEDGE网络。甚至能够和SkypeGoogleTalk,MSN,Yahoo,AIM,andICQ等用户进行通话。但前提必须到一些SIPprovider注册账号(有免费的,也有收费的),SipDroid强烈建议使用PBXes这个sipprovider来得到服务。

有关支持视频通话主要的特新如下:

Whattypesofvideocallsaresupported?

Therearethreelevelsofoperationforvideocalls.

Sending

BypressingtheMENUbuttonandchoosing"SendVideo"youcanstartvideotransmissiontoaSIPphonewithvideo.

Receiving

Thisisnotsupportednatively.IfyouareregisteredtoPBXesandtheotherpartystartssendingvideoitwillshowupontheAndroidphone.

Streaming

Whenyoustartsendingvideoasdescribedabovewhileyouareinacalltoaregularphone,andyouhaveaPBXesPremiumAccount,theotherpartycanopenyourwebcallURL,clickonyourphotoandseeyourvideo.

StreamingcanalsobeusedifyoucallsomebodyonhisAndroidphonewhoisnotregisteredtoPBXes.ThenhecanstillopenyourwebcallURLfromhismobilebrowserandseeyou.

SipDroid只要支持的特点和功能如下:

·Changenumberformat(e.g.convertthe+codes)

·Musiconhold

·SupportofseveralmodesforDTMFtones

·SupportforNAT(networkaddresstranslation)

·SimultaneousOutboundCalling

·Screeninganonymouscallers

·Time-basedroutingforincomingcalls

·AttendedCallTransfer

·Conferences

·VideoReception(VideoTransmissionissupportedbySipdroidnatively)

·Triggercallbackorcallthru(ifnosuitabledatanetworkavailable)

·CallstoSkypeusers

详细的SipDroid开源软件的介绍见官网:

http://code.google.com/p/sipdroid/(可能需要访问)

对于SipDroid实现视频通话的原理,我目前的理解是:

发送方是将是将视频数据传输到视频流媒体服务器,然后再传输给接收方的。具体细节目前不是很清楚,因为涉及到许多通信协议。

SipDroid的源代码可以在官网下载:大概有几M的样子。

开发环境需要EclipsesubclipseSVN客户端)插件。

Subclipse的官网:http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA

下面是一些参考链接:

SIP:http://baike.baidu.com/view/51013.htm

PBXes:http://baike.baidu.com/view/2380496.htm

PBXes官网:https://www1.pbxes.com/index_e.php(需要)

Edge网络:http://baike.baidu.com/view/84625.htm?fr=ala0_1

3、Sipdroid源代码分析之org.sipdroid.sipua.phone

这个包的核心功能是提供拨打语音电话,同时附加有来电显示,通话历史记录,

ButtonGridLayout.java

这个类主要的作用是设置显示的格式,它继承于父类:ViewGroup。

Call.java

这个类主要提供手机通话状态的信息。它会与Connection类产生交互,因为在Connection类型会判断当前通话的状态是什么。

CallCard.java

这个类一开始以为是与Card相关的类,其实它本质上就是一个提供UI element的类,它会在通话开始到结束的整个过程中显示不同的界面变化。 是一个非常庞大的类,其中提供了很多的调试函数,看了以后,对Android大程序如何调试会有进一步的认识。

CallInfo.java

这个类用于对于给定的电话号码,查找出拨号人的信息,因此这个类会与Contacts后台的数据库会发生交互。

Connection.java

这个类提供关于通话连接信息,同时会对每一次的通过连接进行历史记录。

Phone.java

这是一个接口类,提供了一些手机状态信息。

转自http://blog.csdn.net/urecvbnkuhBH_54245df/article/details/5799864

分享到:
评论

相关推荐

    sipdroid开源项目简要分析

    Sipdroid目前有24个包,140多个java文件.首先学习Sipdroid,至少得明白Sipdroid是怎么玩的,实现的主要功能是什么,具体的流程操作是怎么执行的。本文就是教你认识sipdroid架构

    sipdroid开源项目apk

    这是国外的一个开源的sip android前段测试app,sipdroid可以直接使用,也可以自己在对应的网站获取源码编译之后获取自己的apk使用。。当然欢迎下载。。thank's a lot

    Sipdroid开源项目

    sipdroid开源项目源代码,实现SIP协议,以及android视频通话 sipdroid sip协议栈使用JAVA实现,音频Codec使用skype的silk(Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器...

    sipdroid开源项目

    sipdroid开源项目源代码,实现SIP协议,以及android视频通话,eclipse工程下面可以打开编译(android API level是19)

    SIPdroid源代码

    SIPdroid源代码

    SIPdroid研究文档

    手把手教你看懂sipdroid源码,解析了sipdroid里面通信函数

    Sipdroid2.5安装包及源码

    Sipdroid是开源的一款SIP协议网络电话。标准SIP的软件,可以随便更换网络电话服务商。里面包括Sipdroid的安装包及源码。

    Sipdroid源码

    sipdroid源码

    Android代码-Sipdroid

    Sipdroid is an open-source SIP client for Android See http://sipdroid.org for more info Copyright (C) 2009 The Sipdroid Open Source Project (http://sipdroid.org) Copyright (C) 2008 Hughes Systique ...

    Sipdroid3.4 官方APK

    Sipdroid3.4 官方APK,测试Sipdroid的同学可以下载

    sipdroid已编译源码

    sipdroid已编译源码 android2.2下编译。

    已经编译过的sipdroid

    已经编译过的sipdroid.大致在三步就可以自己动手编译,1.到其他的项目拷贝project.properties到sipdroid目录下,2.修改jni目录下的Application.mk文件中:APP_PROJECT_PATH := $(call my-dir)这一行,将其修改为:...

    Android代码-手机的VoIP客户端Sipdroid.zip

    手机的VoIP客户端Sipdroid.zip

    SipDroid客户端源码

    在Sipdroid开源项目像服务器进行数据的发送统一是由SipProvider的sendMessage,因为首先得知道是什么连接 是UDP啊,还是TCP,然后就是message的封装 20. 是无连接的包投递服务,为什么是无连接呢,客户端和服务器压根就...

    Android手机的VoIP客户端 Sipdroid.rar

    Android手机的VoIP客户端 Sipdroid.rar

    sipdroid源文件

    最新的sipdroid源文件,做android多媒体开发很好的例子

    SipDroid资料1

    SipDroid教程、Sipdroid介绍

    sipdroid.4.4.apk

    android android android android 视频通话 sipdroid.4.4.apk

    sipdroid语音及视频通话

    sipdroid 语音 视频通话

    sipdroid sip android客户端

    Sipdroid是一款基于网络的语音及视频通话客户端软件,Sipdroid本身不经营网络语音服务,仅仅是一款开源的sip客户端软件,你需要自备voip账号。 Sipdroid 安卓开源网络电话 2.2 www.qinpinchang.com 功能介绍 自动...

Global site tag (gtag.js) - Google Analytics