没有合适的资源?快使用搜索试试~ 我知道了~
首页sipdroid开源项目简要分析
sipdroid开源项目简要分析
5星 · 超过95%的资源 需积分: 10 257 下载量 194 浏览量
更新于2023-03-03
评论 3
收藏 1.12MB DOCX 举报
Sipdroid目前有24个包,140多个java文件.首先学习Sipdroid,至少得明白Sipdroid是怎么玩的,实现的主要功能是什么,具体的流程操作是怎么执行的。本文就是教你认识sipdroid架构
资源详情
资源评论
资源推荐
!"
#!$##"%&'
("
Contents
怎么学习 android Sipdroid 开源代码?.....................................................................................................3
Sipdroid 流程详细分析...............................................................................................................................4
Sipdroid 会话邀请流程 (一)........................................................................................................................5
Sipdroid 会话邀请流程(二).........................................................................................................................6
Sipdroid 中像服务器注册是如何实现的(一).............................................................................................8
Sipdroid 注册(二)-Sipdroid 注册 SIP 消息分析.........................................................................................10
Sipdroid 注册(三)-注册返回结果的监听..................................................................................................13
Sipdroid 数据发送流程.............................................................................................................................15
Sipdroid 中的视频通话是如何实现的?..................................................................................................18
Sipdroid 中涉及到的音频编解码库?........................................................................................................19
Sipdroid 涉及到的协议之 RFC3261..........................................................................................................20
怎么学习 android Sipdroid 开源代码?
$ 目前有 ) 个包,) 多个 文件'首先学习 $,至少得明白 $ 是怎么玩
的,实现的主要功能是什么,具体的流程操作是怎么执行的。
先整理下下面的问题
一'$ 的数据流程怎么发送的?
参考文档$**&&&'&'*+,++'"#
二'$ 中采用的是什么协议?
这点非常的重要,因为 $ 采用的是 -(./ 协议,大家看了 -(./ 协议后,你就会明白,
$ 中对于 的封装是如何完成,那么 的封装和生成这块所涉及到得设计模
式和代码,你基本就可以弄明白
参考文档
$**&&&'&'*+++'"#
三'分块来弄 $
首先 $ 的架构真是设计的是非常的人性化以及牛 0,为什么呢,功能块是完全独立和分开的,
高内聚低耦合,$ 本身来说就像一座非常难以攻克的堡垒,但是咱们只要一块一块的攻,不久
就发现整做城堡都被搞定了。
一般来说,应该这么做:
'研究注册流程
参考文档$**&&&'&'*+,++'"#
'研究会话邀请流程
'视频通话通话流程
)'整理 $ 的架构
,'提取有用信息,比如视频和声音的编解码库,协议的封装和设计模式等
Sipdroid 流程详细分析
'$1 模块简单分析
2222223 层,负责界面显示模块和界面时间传递
2222224 层:软件核心处理层,启动各种服务,初始化软件参数。处理各种 3 时间,维持配置
文件信息,保存全局属性变量。其中包括 35#(用户配置文件属性),3(用
户事件处理),$4(核心处理,所有的 3 的事件,参数设计,服务的启动都由此文件
调度),-6注册服务处理7
222222$ 层:提供所有 $ 消息模型,所有 $ 消息的处理流程,包括发送,接收,封装,解码等等
222222网络传输:提供音频,视频信息的处理,此模块会对音频视频进行即时编码解码,同时发送数据。
同时还提供 899 透传技术。
2
'$1 流程分析:
拨号:拨号请求由 3 通过 - 广播信息交给 $14 处理,在 $14 做一
些验证,然后交给 3 处理。其中 ##6:#!;#:"7为
判断是否匿名拨号再此方法中,会创建一个 4<.## 对象,以提供给 $ 协议栈使用,然后调
用 4<.## 的 ## 方法处理!之后由 4<.## 的 ##,调用 4<1# 来发
送 请求。由 1# 执行具体的 调用 .# 的 方法,
最后由 .# 发送 请求,在 .# 中会通过
$,来发送消息,并打开对端口监听,来收 $ 消息。发送消息主要有(31 传输
3$$22. 传输 $$)
来电:在启动程序的时候会通过 $14 会根据配置,创建一个 ,这里用到 $
传输,创建一个 3$$,$$ 是一个 ,创建的时候就会启动线程,开始监听收
到的信息,当受到信息后,通过 " 方法,把对象传出到 3$$,由
3$$ 处理,再通过 $" 方法传出到 $ 对象!最后将在
$ 的 $- 方法中处理收到的消息,最后从 #("$)中
取出相应的 #,最后通过相应的 # 中的 -67来处理具体 $ 请求
Sipdroid 会话邀请流程 (一)
$ 会话流程图
2
图片比较直观,但是表述却不够详细,下面咱们详细分析下流程:
会话邀请所涉及到得类:
$46##7+36##7+4<.##6##722+1#67
左边的代表涉及到的类,右边代表涉及到的核心方法!从左到右进行观察,左边的类都有一个右边类型
的参数作为自己的成员函数,就是 $4 有一个成员函数 !这个 是 3 类型
的。。。。
1# 中的 函数所做的事情也是非常的简单,生成会话邀请的 " 然后通过
$ 发送出去就行了,那么发送完毕后,怎么实现对发送结果的监听呢?
其实自己猜测一下也猜测到服务器返回数据会什么类型的?
、等待对方应答中
'对方已经应答,进入双边通话模式中,同时手机这边开始声音和视频的采集'6声音和视频的采集,
这个是核心中的核心哦,马上就要弄到这块了,兴奋啊7
'超时,对方无应答'
剩余20页未读,继续阅读
sandyMy0
- 粉丝: 4
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论26