当前位置: 首页 > news >正文

了解sip和rtp是什么

SIP 和 RTP 是互联网实时通信(如语音和视频通话)中两个至关重要、相辅相成的协议。

简单来说:

  • SIP 负责 建立、管理和终止 通话(信令协议)。

  • RTP 负责 传输 通话中的音频和视频数据流(媒体传输协议)。

可以把它们想象成一次电话呼叫:

  • SIP 就像是打电话时的 拨号、振铃、接听和挂断 这一系列控制过程。

  • RTP 就像是电话接通后,双方实际 说话和交流 的内容。

一、SIP(会话初始协议)

SIP是一个应用层的信令控制协议,用于创建、修改和终止包含一个或多个参与者的多媒体会话。

主要特点

  • 文本协议:类似于HTTP,人类可读,易于调试。

  • 客户端/服务器架构:但同时也支持点对点通信。

  • 不传输媒体数据:只负责会话的信令和控制。

  • 使用端口:通常使用5060(非加密)或5061(TLS加密)。

SIP在通话中的作用

  1. 注册(Registration):用户代理(如IP电话、软电话)向SIP服务器注册其当前位置。

  2. 邀请(Invitation):主叫方发送INVITE请求给被叫方,发起一个会话。

  3. 协商(Negotiation):通过SDP(会话描述协议)交换媒体能力(如使用什么编解码器)。

  4. 会话管理:处理呼叫转移、保持、继续、会议等。

  5. 终止(Termination):任何一方发送BYE请求来结束会话。

一个简单的SIP呼叫流程

主叫方 (UAC)                 SIP服务器                被叫方 (UAS)|--- INVITE --------------->|                         ||                           |--- INVITE ------------>||                           |<-- 100 Trying ---------||<-- 100 Trying ------------|                         ||                           |<-- 180 Ringing --------||<-- 180 Ringing -----------|                         ||                           |<-- 200 OK -------------||<-- 200 OK ----------------|                         ||--- ACK ------------------>|                         ||                           |--- ACK --------------->||********** 此时RTP媒体流建立并开始传输 *************||                           |<--- BYE ---------------||<-- BYE -------------------|                         ||--- 200 OK --------------->|                         ||                           |--- 200 OK ------------>|

二、RTP(实时传输协议)

RTP是一个网络协议,用于通过IP网络传输音频和视频等实时数据。

主要特点

  • 传输媒体数据:专门用于传输实际的音频、视频流。

  • 实时性:包含时间戳,允许接收方按正确时序重建数据。

  • 无序和丢包处理:包含序列号,用于检测丢包和数据包乱序。

  • 使用动态端口:通常使用偶数端口号(范围16384-32768),其对应的RTCP使用下一个奇数端口。

RTP数据包结构

一个RTP数据包主要包括:

  • 载荷类型(Payload Type):标识音频/视频编解码器(如G.711, H.264)。

  • 序列号(Sequence Number):用于检测丢包和乱序。

  • 时间戳(Timestamp):用于同步和回放。

  • 同步源标识(SSRC):标识数据流来源。

  • 实际媒体数据:编码后的音频或视频帧。

相关协议:RTCP(RTP控制协议)

  • 伴随协议:总是与RTP成对出现,使用RTP端口号+1的奇数端口。

  • 功能:提供媒体传输的质量反馈(QoS),包括:

    • 数据包计数

    • 丢包率

    • 延迟

    • 抖动

  • 不传输媒体数据,只传输控制统计信息,帮助应用程序调整传输质量。

三、SIP和RTP如何协同工作

这是理解两者关系的关键:

协同工作流程

  1. SIP发起呼叫:用户A使用SIP协议向用户B发送INVITE请求。

  2. SDP协商:在SIP消息体中,通过SDP描述媒体信息:

    • “我想用RTP发送音频”

    • “我支持的编解码器是:G.711, G.729”

    • “我的RTP准备在端口20000接收数据”

  3. SIP建立连接:双方通过SIP交换SDP信息,商定共同的编解码器和各自的IP/端口。

  4. RTP开始传输:SIP通话建立后,双方直接在协商好的IP和端口上开始RTP媒体流传输。

  5. SIP管理通话:通话期间,任何控制(如保持、转接)仍通过SIP处理。

  6. SIP结束通话:当一方挂断,SIP发送BYE请求,RTP流随之停止。

关键点

  • 分离的信令和媒体:SIP和RTP的路径甚至可以是不同的网络路径。

  • SIP负责“通话”,RTP负责“说话”

  • NAT穿透问题:由于RTP是独立建立的,穿越防火墙/NAT通常需要STUN、TURN或ICE等辅助技术。

四、实际应用

使用场景

  • VoIP电话系统(如Asterisk, FreeSWITCH)

  • 视频会议系统(如Zoom, Teams的底层协议)

  • 即时通讯应用的音视频功能

  • IP监控摄像头的流媒体传输

http://www.dtcms.com/a/519342.html

相关文章:

  • MySQL-3-函数应用及多表查询
  • 自然语言处理分享系列-词语和短语的分布式表示及其组合性(二)
  • 网站建设珠海 新盈科技泉州建站模板
  • ISO 8601日期时间标准及其在JavaScript、SQLite与MySQL中的应用解析
  • 利用博客做网站排名南京外贸网站建设案例
  • 使用 VS Code 的 Dev Containers 插件,通过跳板机间接连接docker
  • 衡水城乡建设局网站首页北京网站建设华大
  • 湛江网站建设哪家优惠多常见的网站结构有哪些
  • php网站源码架构seo标题生成器
  • ui设计师与网站编辑有什么关系重庆森林为什么不能看
  • 站长工具成品源码广西贵港建设集团有限公司网站
  • 电子商务网站建设技术解决方案wordpress ios
  • 企业是如何做电子商务网站软件开发培训机构去学
  • 摄影网站策划书wordpress 赞 分享
  • 深圳我的网站深圳市工程交易服务网宝安
  • php制作wap网站开发我国酒店网站建设存在的问题
  • 金坛网站建设企业手机网站建设渠道
  • 做网站要不要钱东莞网站快速优化排名
  • 做微信营销网站建设dw个人简历网页制作
  • 建个免费的销售网站好asp net4.0网站开发
  • 给个能看的网站中国500强企业名称
  • 网站一般用什么免费字体云主机wordpress
  • 旅游网站流程图电子商务网站开发的视频
  • 网站集约化建设流程专业网站建设价位
  • 食品网站建设客户需求调查表网站硬件费用
  • 深圳做网站600百度官网首页网址
  • 购物网站前端浮动特效怎么做西宁大型网站建设
  • 电脑网站制作教程网站空间商是什么意思
  • 网站开发范围游戏模板 wordpress
  • 企业网站 免费 php商标logo创意免费一键生成