基于sdp协议的sip消息体(正文)

本文主要介绍Content-Typeapplication/sdp时的sip消息体。

Sdp协议

1. 概述        

        SDP是一种基于文本的协议,SDP协议的主要目的是在多媒体会话(如VoIP通话、视频会议等)开始前,将会话的参数信息传递给参与者,以便他们能够正确地配置和连接到会话。

2. 作用

        SDP协议通过文本形式描述媒体信息,使得通信双方能够协商好双方具有的媒体能力。这些媒体信息包括媒体类型、媒体格式、媒体地址等,从而确保会话的顺利进行。SDP本身并不传递媒体数据,而是作为媒体协商的工具,为媒体数据的传输提供必要的参数信息。

3. 协议格式

        SDP协议格式由一系列的行组成,这些行按照特定的顺序排列,共同构成了完整的会话描述。SDP协议定义了一些标准的行类型,包括v(协议版本)、o(会话的起始者和会话ID)、s(会话名称)、c(连接信息)、t(会话时间信息)、m(媒体信息)、a(属性字段)等。

4. 应用场景

        SDP协议广泛应用于各种多媒体会话场景,如VoIP通话、视频会议、流媒体传输等。在这些场景中,SDP协议通过描述会话的媒体信息,使得通信双方能够协商好媒体参数,从而实现高质量的媒体传输。

Sip消息体 

基于sdp协议的Sip消息体中关键字段描述:

v(协议版本):表示SDP的版本号,当前版本为0。

o(会话的起始者和会话ID):对会话的发起者进行了描述,包括发起者的用户名、会话ID会话版本、发起者的网络类型发起者的地址类型发起者的地址等信息。

s(会话名称):指定会话的名称,通常是一个简短的字符串。可以包含字母、数字、空格和其他可打印字符它为会话提供了一个易于识别的标签或名称,有助于参与者识别和区分不同的会话。

c(连接信息):表示媒体流的连接信息,包括网络类型、地址类型和地址等信息。这个字段对于确保媒体数据能够正确地传输到接收方至关重要

t(会话时间信息):描述了会话的开始时间和结束时间,时间戳通常以NTP(Network Time Protocol)时间戳或UNIX时间戳的形式给出。NTP时间戳是自1900年1月1日以来的秒数(注意:这与常见的UNIX时间戳从1970年1月1日开始计算有所不同)。然而,在实际应用中,UNIX时间戳更为常见,因为它与现代操作系统的时间系统更为兼容。

 

m(媒体信息):描述了媒体流的类型、端口号、传输协议和媒体格式等信息。

//格式:
m=<type> <port> <protocol> <format list>
  • <media>:媒体类型,如“audio”(音频)、“video”(视频)、“application”(应用程序)等。
  • <port>:端口号,指定媒体数据将在哪个端口上传输。这个端口号通常与传输协议(<proto>)相关联。
  • <proto>:传输协议,指定媒体数据使用的传输层协议。常见的协议包括“RTP/AVP”(RTP over UDP,实时传输协议/音频视频配置文件)、“TCP/RTP/AVP”(RTP over TCP)等。
  • <fmt list>:媒体格式列表音视频编解码格式,用空格分隔的负载类型(payload type)列表,表示该媒体流支持的具体格式编解码格式

流媒体格式,参见:流媒体格式-CSDN博客

负载类型(PT),参见: 负载类型(PT)-CSDN博客

a=(属性字段):用于描述会话或媒体流的额外属性,如编码方式、带宽需求等。m中格式列表中的每个PT值都通过a=rtpmap:属性与具体的编码格式相关联。

//格式:
a=<attribute>:<value> 编解码器/时钟频率 
a=<attribute>:<value> 额外参数=参数值

常见的SDP属性示例

1)Rtpmap:用于指定RTP(Real-time Transport Protocol)负载类型与媒体编码格式之间的映射

例:a=rtpmap:8 PCMA/8000属性用于将PT值8映射到具体的编码格式和采样率上。 

2)Fmat:这个字段为特定的媒体类型(如音频、视频)提供了额外的编解码器或传输参数,以便接收方能够正确地解码和播放媒体数据。

3)Ptime:用于指定RTP(Real-time Transport Protocol,实时传输协议)流的每个数据包的音频数据持续时间(以毫秒为单位)。 

 

4)sendrecv、recvonly、sendonly:这些属性用于指示媒体流的发送和接收状态。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值