Sipdroid解惑之SIP和RTP的关系?

本文探讨了SIP协议和RTP协议之间的关系,并解释了它们如何协同工作以实现音视频通话。SIP用于建立、修改和终止会话,而RTP则负责实时传输音频和视频数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最刚开始看Sipdroid的时候,从RFC3261的协议中我大致是这样认为的:

发送视频和音频也是需要经过SIP协议封装的,这2天在研究Sipdroid中音视频通话那块的时候,我发现我完全的理解错了。

SIP协议其实不难,就那么几个,注册消息,会话邀请消息,结束通话消息等等。

RTP也不难,头部12个字节是RTP头部消息,包含了RTP的基本消息,头部有一个payload的有效荷载长度信息,就是咱们需要传递和接受的音频和视频数据包的有效长度。

那么SIP和RTP到底是哈关系呢?

其实没哈关系,SIP和RTP是相互独立的两个功能块,SIP消息和服务器通信,告诉服务器双边通信的状态,当双边都进入通话和视频的过程中,那么就完全的走RTP了,RTP采用数据报包的方法,两台手机同时connect(ip,port);只要一个send,一个receiver就行了,数据就完成传输了。

什么是数据报包?请参见下面的文章:
http://www.shouyanwang.org/thread-4-1-1.html

通过SIP和RTP这2个东东,又充分了说明了, Sipdroid高内聚低耦合 的特点。

但是还是有疑问的,这个设计到很多方面的东西:

1.数据报包的ip和端口是服务器返回的,还是手机设置里面用的?

2.2个手机终端进行SIP通话,那么这2个手机终端用的同一个数据报包的IP和port,还是多个公用,如果是多个共用,那么是怎么确保数据的发送是一对一通过中所需要的。

请这方面的高手帮忙解答下,本人不胜感激

转自http://www.shouyanwang.org/thread-56-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值