一、什么是RTP
RTP(Real-time Transport Protocol)实时传输协议是一个网络传输协议,由IETF的多媒体传输工作小组1996年在RFC1889中公布。
二、RTP用途
RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式,常用于流媒体系统(配合RTSP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP)。RTP协议和RTP控制协议(RTCP)一起使用,传输层协议主要建立在UDP协议上。
三、RTP消息主要字段
Ver(2 bits):协议版本号,目前版本号2
P(1 bit):用于RTP封包(packet)結束點的預留空間,視封包是否需要多餘的填塞空間
X(1 bit):否在使用延伸空間於封包之中
CC(4 bit):包含了CSRC數目用於修正標頭(fixed header)
M(1 bit):是用於應用等級以及其原型(profile)的定義。如果不為零表示目前的資料有特別的程式解譯
PT(7 bit):是指payload的格式並決定將如何去由應用程式加以解譯
Sequence Number::序列号
TimeStamp(32bit):产生payload的时间戳
SSRC:同步源
四、VONR中RTP实例
Volte/Vonr通话中终端(UE)一边向网络发送实时语音数据包,一边接收网络传递过来的通话对方语音数据包;无论是终端(UE)发送,还是接收的语音数据包他们分别按照各自的顺序进行传递。
图1.5G网络VONR中的RTP数据
4.1 UE->NETWORK RTP数据(终端发送的RTP包)
RTP Version = 2(RTP版本)
Direction = UE_TO_NETWORK(数据方向:UE->Network)
Padding Flag = 0(Padding标志)
Extension Exist Flag = 0
Contributing Source Count = 0
Marker Flag = 1(标识)
Payload Type = 107(承载类型:107--WB-AMR)
Sequence Number = 45601(序列号)
Timestamp = 170296(时间戳)
Ssrc = 1439538684(同步源)
Media Type = Audio(媒体类型)
Codec Type = AMR-WB(语音编码类型)
Frame Type = AMR-WB 23.85 KBIT/S(语音帧类型)
4.2. NETWORK->UE(终端接收到的RTP包)
RTP Version = 2
Direction = NETWORK_TO_UE(数据方向:Network->UE)
Padding Flag = 0
Extension Exist Flag = 0
Contributing Source Count = 0
Marker Flag = 1
Payload Type = 107
Sequence Number = 10821
Timestamp = 320
Ssrc = 3847788039
Media Type = Audio
Codec Type = AMR-WB
Frame Type = AMR-WB 23.85 KBIT/S