RFC协议 RTP、SIP、DTMF、SDP学习笔记

RTP

  1. RTP是端到端的协议,基于UDP【运行在UDP之上】,UDP本身不保证传输的可靠性,数据传输的可靠性由RTCP协议保证
  2. RTCP协议与RTP协议是独立的

使用场景:

  1. 简单多播音频会议:
    • 如何通讯: 分配一个工作组中心多播的地址和一对端口,音频data和RTCP数据包控制,并将这些地址发送给参与者
    • 参与者的设备不同导致音频编码格式的不同: 每个与会者发送音频数据块,UDP包内包含RTP报头和数据,RTP报头指明各个包里音频编码的类型,这样发送方可以在会议过程中更改发送类型
    • 丢失和包重排: RTP报头里包含计时消息和序列号,【计时消息可以被接受方重建,可能是来本段消息在源文件的计时消息】,序列号被接收方用来评估丢包数目,【通过比对接受包的序列号,计算出丢包的数目】
    • 实时知道新加入or离开的接受状态: RTCP端口上周期性多播一个附加用户名的接受报告,每一个用户离开的时候会发送RTCP BYE包
  2. 音频 + 视频in one
    • 一个会议同时有音频和视频媒体:二者传输的时候使用不同的RTP session,也就是说使用两对不同的RTP和RTCP包的端口,【Exception:如果一个同时参加两个session的user,在两个session的RTCP包中使用了相同的name,这两个session就会发生耦合(associated)】,尽管如此,RTCP包内的计时消息还是能够同步音频和视频
  3. 99个高速连接 + 1个低速连接,不允许IP包通过的地方:Mixers and Translators
    • 水桶原则在这种情况下会使得99个人的体验很差,所以可以插入一个代理--Mixers,这个代理通过单播被发送到一个固定的接收方【也可以多播】,代理接收的是原来的音频信号并转换编码为低带宽模式,RTP报头为Mixer识别音频源提供了方法
    • 不允许IP包通过的地方:使用中继器*2,外侧中继器通过安全连接发入内侧中继器
  4. 不同接收速率下的传输速率设定:
    • 在tcp拥塞控制中是由发送方来调整发送速率,但是多播的情况多接收设备速率不同的时候,就只能取最小的一个值,这样大大限制了传输的质量和保真度
    • 分层编码 + 分层传输:【将速率适配的责任放在接收器上。在基于IP多播的RTP上下文中,源可以跨多个RTP会话(在每个RTP会话上承载自己的多播组)剥离分层表示信号的渐进层。然后,接收者可以通过仅加入多播组的适当子集来适应网络异构性并控制其接收带宽】,源通过分层编码分层传输,接收者根据自己的接受速率来接收不同session个数和内容

定义:

  1. RTP payload : RTP的有效载荷,指的是包中的音频或者压缩好的视频数据
  2. RTP packet:RTP数据包,格式为【报头 + 源列表 + RTP payload】,UDP层一般一次封装一个RTP包,也可以多个
  3. RTCP packet:RTCP控制包,格式为【报头 + structured elements】,UDP层一般一次封装多个RTCP包,(格式小,报头中有长度)
  4. Transport addressip + port
  5. RTP media type:一个session中所有payload的类型的集合
  6. Multimedia session:多媒体回话,一个视频会议中可能包括an audio RTP session and a video RTP session
  7. RTP session:【不太清晰这块.......】参与者通过不同的目标传输地址来接收不同的会话区分多个RTP会话,每个RTP会话都会维护一个SSRC标识符,这个标识符的传递可以是一对多,也可以是多个一对一
  8. SSRC, Synchronization source 【同步源】:重组一个信号源【麦克风、摄影机、mixer等】的标识,来进行重放
  9. CSRC, Contributing source【分信源】:对mixer生成的流的起作用的源
  10. End system:可以是多个SSRC,也可以是一个SSRC
  11. Mixer and Translator
  12. Monitor:应用程序,接受参与者的RTCP包特别是接收报告
  13. Non-RTP means:其他协议和机制

RTP数据传输协议

  1. 报文Header格式:

    RTP header

  2. Header是可以扩展的

RTCP数据传输协议

  1. 基本功能:
    • 传输质量反馈
    • 每个RTP源的标识CNAME
    • 控制速率使得在RTP成员可以平滑的增长
    • 可选项:宽松控制
  2. RTCP包的格式
    • SR:sender report,发送者的发送和接收统计数字
    • RR:receiver report,接受者的接受统计
    • SDES:source description items
    • BYE:结束对话
    • APP:Application-specific functions 应用描述功能
  3. 加入和BYE时候更新SSRC

SDP

  1. SDP是为了描述多媒体回话而设计的
  2. SDP的主要作用:保持活跃性,提供足够的信息加入会话

DTMF

  1. dual-tone multifrequency (DTMF)
  2. DTMF负载格式:
    • 双音多频数字信号、其他线路
    • 普通多频电话
  3. DTMF处理的场合:网关、终端、RTP干线
    • 网关:internet 电话网关检测引入网路的DTMF并发送描述该内容的RTP负载而不是通常的音频数据包
    • 终端系统:可以仿真DTMF的功能性
    • RTP干线:RTP常用于取代两点间通常的电路开关干线
  4. 语音与事件:
    • 网关在接收到DTMF数字信号的时候可以只进行"话音分析",也可以进行"话义分析",区别在与后者会直接将话义分析得到的结果(如 忙音)和描述直接进行RTP传输

SIP

  1. SIP是一个点对点协议

  2. SIP仅仅涉及通信会话的协议部分【如使用了哪些端口,编码器是哪些】,SIP session 传输一些简单的实时传输协议流,RTP本身才是语音或者视频的载体

  3. SIP是一个应用层的控制协议,可以用来建立、修改、终止多媒体回话,支持以下方面:

    • 定位
    • 有效性
    • 媒体参数
    • 建立会话
    • 会话管理
  4. SIP本身不提供服务,只是服务的包裹方

  5. SIP session的连接过程:


    SIP session的连接过程

100(Trying)应答表示INVITE请求已经收到,并且代理服务器正在转发INVITE请求。
bob的电话响了。bob的sip电话发送一个180(Ringing)回应,这个回应将通过两个代理服务器原路返回给Alice。
Bob决定响应这个呼叫。当他拿起电话,他的SIP电话发送200(OK)回应给发送者,表示这个电话已经接起来了。
ACK是跨过代理服务器的,因为这时候双方已经知道对方的地址了,可以直接通话,Alice和Bob的媒体会话开始了,他们通过发送刚才建立会话所交换的SDP包中约定的互相明白的媒体包来进行会话。一般情况下,端到端的媒体包和SIP信号控制包通过不同的通讯路径来发送。
BYE信号仅仅需要会OK,断开连接即可

  1. SIP层次结构:

    • 事务用户:SIP实体
    • 事务层:事务处理的应答、超时
    • 传输层:客户端和服务器如何传输应答
    • 语法和编码层
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335